Search
Write a publication
Pull to refresh
5
0
dreg @dreg

User

Send message

Недорогой способ защиты от HTTP-флуда

Reading time3 min
Views16K
Случилась на днях, как всегда, не в самый подходящий момент, DDoS-атака на один из сайтов, размещенных на моем сервере. DDoS-атаки бывают разные, в этот раз злоумышленники запустили HTTP флуд.

Флуд был не столько тяжелый по трафику, сколько интенсивный по количеству запросов. Причем, как назло, запросов не однотипных, а постоянно меняющихся. Все, что у меня на тот момент было из софтовых средств защиты, не могло эффективно справиться с таким флудом, поэтому пришлось использовать железные решения.

Железные решения я считаю правильным выбором, но доступны они не всем и не всегда, а многие атаки, как показала моя практика, успешно отбиваются правильным использованием доступных программных средств. К тому же, захотелось немного поэкспериментировать.

Читать дальше →

Кешируем блоки HTML при помощи nginx

Reading time3 min
Views7.2K
Не секрет, что пользователи любят, когда контент на сайте обновляется чаще, чем раз в год. Эту любовь пользователей к динамическим страничкам разделяют и поисковики. Google, например, умеет определять наличие обновляющихся блоков на страничке и добавляет ей немного кармы (читай, PR).

Однако динамический контент довольно плохо сочетается с большими нагрузками. Для веб-сервера, отдача статической странички — намного более простая задача, чем запуск кода, который сгенерит эту страничку динамически. В некоторых случаях может выручить прегенерация всех возможных вариантов странички, но это не спасёт, если их слишком много, или страница обновляется слишком часто.

продолжение

Шаркит — новый инвестор в it-проекты

Reading time1 min
Views640

За последнюю неделю на Хабре активизировались разговоры об инвесторах и инвестициях, так что и мы внесем свой вклад. Очень надеюсь, что положительный.

И так, добро пожаловать на Шаркит. Если вы ищите инвестиции для своего проекта, мы готовы вам помочь, вложив в него от $5000 до $100 000. Помимо непосредственно денег, мы готовы всячески содействовать и помогать проекту: юридически, технически, с подбором команды и продвижением. Более подробно о принципах нашей работы можно прочитать в соответствующих разделах сайта sharkit.ru. Если же у вас возникнут какие-либо вопросы, то я с радостью отвечу на них здесь в комментариях или лично в почте.

Кроме основного сайта, в скором времени мы собираемся также запустить коммьюнити people.sharkit.ru. Что это будет? Мы хотели бы вырастить из него интересное сообщество, основными участниками которого были бы разработчики, желающие стать предпринимателями и создать собственный it-бизнес (или уже сделавшие это).

Сообщество people.sharkit.ru будет открытым, но модерируемым. Чтобы зарегистрироваться, вам потребуется просто написать свой первый пост. Разумеется, пост должен быть хотя бы отдаленно связан с it-бизнесом и предпринимательством. Мы всячески будем поощрять обсуждение острых вопросов (в т.ч., например, поднятую на Хабре проблему поиска инвесторов) и обязуемся соблюдать нейтралитет. В отличие от Хабра, у топиков не будет заголовков, да и атмосфера предполагается более свободная и неформальная. И, конечно, было бы интересно сейчас услышать ваши идеи и мысли на этот счет. Что бы вы хотели увидеть в таком сообществе и какие по вашему важные моменты следует учесть?

Всем спасибо за внимание.

Краткий обзор движков таблиц MySQL

Reading time3 min
Views79K
Цель этой статьи — дать краткий, очень сжатый обзор движков, для того, чтобы статьей можно было пользоваться при выборе движка на этапе проектирования \ создания \ оптимизации таблицы. Предполагается, что читатель знает суть вопроса по крайней мере поверхностно и способен сам отыскать всю дополнительную информацию (вопросы в комментах можно задавать всегда :) )
Читать дальше →

Средневзвешенная система голосования

Reading time3 min
Views3.5K
Вступление. Эту статью написал мой друг — Семён Шторкин, владелец нижегородского сайта-коммьюнити для фотографов (фотогорький). Пока его, к сожалению, нет на Хабре, но попробую этим топиком заработать для него инвайт :)

Добрый день. Хочу поделиться с уважаемым хабрасообществом весьма объективной системой оценок и рейтингов, основанной на средневзвешенной системе с оценками по пятибалльной шкале.
Читать дальше →

Блокировка ботов и нежелательных пользователей на уровне вебсервера nginx

Reading time2 min
Views24K
У меня, да и думаю у вас, логи веб-сервера частенько забиваются запросами вида:

62.193.233.148 - - [28/May/2009:18:20:27 +0600] "GET /roundcube/ HTTP/1.0" 404 208 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5"
62.193.233.148 - - [28/May/2009:18:20:28 +0600] "GET /webmail/ HTTP/1.0" 404 206 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5"
212.150.123.234 - - [29/May/2009:20:51:12 +0600] "GET /admin/main.php HTTP/1.0" 404 212 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:12 +0600] "GET /phpmyadmin/main.php HTTP/1.0" 404 217 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:12 +0600] "GET /phpMyAdmin/main.php HTTP/1.0" 404 217 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:13 +0600] "GET /db/main.php HTTP/1.0" 404 209 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:13 +0600] "GET /PMA/main.php HTTP/1.0" 404 210 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:14 +0600] "GET /admin/main.php HTTP/1.0" 404 212 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:14 +0600] "GET /mysql/main.php HTTP/1.0" 404 212 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:15 +0600] "GET /myadmin/main.php HTTP/1.0" 404 214 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:15 +0600] "GET /phpadmin/main.php HTTP/1.0" 404 215 "-" "-"
212.150.123.234 - - [29/May/2009:20:51:16 +0600] "GET /webadmin/main.php HTTP/1.0" 404 215 "-" "-"


В основном это боты, бывают и пользователи, которые сканируют сервер на наличие всяких папок, ищут уязвимости.
Так вот захотелось блокировать эти IP-адреса сразу после попытки сканирования сервера, средствами nginx.

Читать дальше →

Памятка дизайнеру сайтов

Reading time10 min
Views246K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

К сожалению огромная армия даже опытных, «модных» и эффектных дизайнеров забывают, что результатом их творчества должен быть сайт, а не только «супер-скриншот» годный только для портфолио.

Первоначально эта памятка писалась мною для внутреннего пользования но, обрастая материалами, выросла в самостоятельную статью. Америку я не открыл, а просто собрал воедино и сформулировал ряд требований, которые должен учитывать дизайнер в процессе проектирования и оформления сайта.

Читать дальше →

Впечатляющие «научные» эксперименты в домашних условиях + конкурс для Хабралюбителей от SmartVideos.ru

Reading time2 min
Views1.4K
Умное ВидеоМногим читателям Хабра уже полюбились переводные научно-познавательные ролики. Хотел бы представить Вам еще два — о неньютоновской жидкости и «горячем» льде. Опыты не требуют каких-либо сложных ингредиентов или условий, но выглядят действительно эффектно.

Кроме того, для заинтересовавшихся я хотел бы провести небольшой конкурс с довольно привлекательными призами…

UPD. Первое видео от spiritus_sancti уже онлайн — www.youtube.com/watch?v=Y4z2VqgX-78!

UPD2. Второе видео онлайн — www.youtube.com/watch?v=PSiSHhw99Tw!

Читать дальше →

Веб-формы «Светофор». Вариант реализации

Reading time1 min
Views2.5K
Не так давно Gunger представил вариант раскрашивания элементов ввода текста на форме. Мне этот вариант, несмотря на критику некоторых юзеров, очень понравился и я решил что со временем сделаю свою реализацию.

Время пришло и я рад представить свой вариант реализации написанный в виде JQuery-плагина. Я назвал плагин semaphore, по моему вполне удачное название. Плагин работает с регулярными выражениями для проверки валидности ввода.
Читать дальше →

Контрол-навигация

Reading time2 min
Views1.8K
Нельзя не заметить, что в рунете всё бóльшую популярность набирает т. н. контрол-навигация: перемещение по страницам одного уровня с помощью сочетаний Ctrl + ← и Ctrl + →. Некоторые товарищи даже неуютно себя чувствуют, когда попадают на сайт, не поддерживающий листание страниц с клавиатуры.

Почему эта функциональность до сих пор не реализована в самих браузерах?
Читать дальше →

Favicon и заголовок окна

Reading time2 min
Views7.6K
imageВозможно, у вас вызовет сомнение тот факт, что иконка сайта и заголовок окна имеют какое-то отношение к веб-типографике, спешу вас заверить. Имеют! Как корешок книги к её обложке. Не буду лить воду и сформулирую правила оформления иконки и заголовка окна, созданые для повышения удобства при навигации по вкладкам.
Читать дальше →

Прогноз погоды: интерактивный сервис с самообучением

Reading time2 min
Views1.1K
Я думаю, значительная часть интернет-аудитории оценит положительно сервис, который будет показывать прогноз погоды не в сухих цифрах (кому они в таком виде нужны?), а отвечая на вопрос «Как надо сейчас одеваться на улицу?». Ведь именно с этой целью большинство людей посещает сайты с прогнозами погоды.
И у значительной части людей постоянно возникают сложности при чтении объективных числовых значений вроде:
«95% от.влажность, ветер 3 м/с, сев.вост, **снег**, темп. -6 градусов по Цельсию».
Это холодно? или не очень? Шарф надевать? А джинсы — утепленные или обычные?
При этом высовывание носа в форточку так же мало чего может дать.

А сайт даст подсказку.

Как эти вопросы будут решаться сервисами сайта: на основе эмпирических выкладок для данной погоды (берущейся из Гидрометцентра) пользователю предложат комплект типичной для этого случая одежды/обуви.
Например, из расчетов что длинный пуховик для ДАННОЙ погоды даёт 50% комфорта, свитер 10%, брюки 10%, ботинки 20%, шапка 10%. Опционально — зонтик, резиновая лодка, или снегоступы. А пользователь сможет скорректировать предложение под себя — например, вместо пуховика+тонкого свитера надеть куртку+толстый свитер.
(Ага, мне это тоже почему-то напомнило одевание шмота в РПГ :)

Как элемент Web 2.0-ности: зарегистрированные пользователи смогут оценивать качество советов сайта для коррекции его выводов (например, вернувшись домой нажать на кнопочку «было холодновато/было нормально/было слишком жарко».), сайт учтет данный отзыв в следующий раз для всех пользователей.

Как элемент интерактивности, и более точной настройки: возможность корректировать персональную выдачу, а так же составлять индивидуальный гардероб, используя эмпирический подход. Т.е. на сильный ветер — непродуваемую одежду, на случай дождей — непромокаемую, на случай метеоритов — каску вместо кепки. (смотря что имеется в шкафу по факту)

Как элемент монетизации сервиса: партнерские программы с магазинами одежды, зонтиков, аптеками, заказом такси, турагентствами, и т.п.
Что вы думаете по поводу такой штуки?

P.S. Значков копирайтов на идее нету, если кто захочет воплотить — только спасибо скажу :)

Ubuntu Release Party in Minsk

Reading time1 min
Views632
Приглашаю всех Убунтоводов/Дебиановодов принять участие в Intrepid Release Party.

Дата проведения — 9 ноября (воскресенье). Время — 17 часов.
Место проведения — кафе «Таверна». Адрес: пр-т газеты Правда, 20

В программе:

* Обсуждение новых возможностей Intrepid Ibex
* Запись Ubuntu/Debian на CD/DVD/Веник/Флешку
* Официальное зеркало Ubuntu в РБ. Факты, догадки, персоналии.
* HOWTO: Создание PPA репозитория и его наполнение
* Истории успеха
* Приятное общение о разном :)

Все желающие — вносите ваши предложения, дополнения! :)

Читать дальше →

AdMe.ru: Тэги, полнотекстовый поиск и всё такое…

Reading time9 min
Views7.6K
В этой статье я открою секреты того, как работает adme.ru, а именно я расскажу о том как устроено хранение статей и тэгов, как работает полнотекстовый поиск, поиск по тэгам и всё такое…

В статье приведён пример структуры таблиц, рабочий конфиг Sphinx и немного php кода с примерами выборок.
Читать дальше →

Алгоритмы организации тэгов

Reading time3 min
Views27K
Тэги – неотъемлемая часть всех современных сайтов и косвенный признак принадлежности сайта к пресловутому Вэб-Два-Ноль.

В статье я хочу рассказать об способах и алгоритмах тегирования информации.
Читать дальше →

Что такое нити (threads)?

Reading time3 min
Views72K
Навеяно предыдущей статьей на эту тему.
Для того чтобы, структурировать свое понимание – что представляют собой threads (это слово переводят на русский язык как «нити» почти везде, кроме книг по Win32 API, где его переводят как «потоки») и чем они отличаются от процессов, можно воспользоваться следующими двумя определениями:
  • Thread – это виртуальный процессор, имеющий свой собственный набор регистров, аналогичных регистрам настоящего центрального процессора. Один из наиважнейших регистров у виртуального процессора, как и у реального – это индивидуальный указатель на текущую инструкцию (например, индивидуальный регистр EIP на процессорах семейства x86),
  • Процесс – это в первую очередь адресное пространство. В современной архитектуре создаваемое ядром ОС посредством манипуляции страничными таблицами. И уже во вторую очередь на процесс следует смотреть как на точку привязки «ресурсов» в ОC. Если мы разбираем такой аспект, как многозадачность для того, чтобы понять суть threads, то нам не нужно в этот момент думать о «ресурсах» ОС типа файлов и к чему они привязаны.
Очень важно понять, что thread – это концептуально именно виртуальный процессор и когда мы пишем реализацию threads в ядре ОС или в user-level библиотеке, то мы решаем именно задачу «размножения» центрального процессора во многих виртуальных экземплярах, которые логически или даже физически (на SMP, SMT и multi-core CPU платформах) работают параллельно друг с другом.
Читать дальше →

Стэнфорд открыл учебные материалы по программированию и ИИ

Reading time1 min
Views6.1K
Стэнфордский университет выложил в открытый доступ под лицензией Creative Commons содержание десяти учебных курсов по программирование, искусственному интеллекту, линейным системам и оптимизации. Воспользоваться этими уникальными материалами могут преподаватели и студенты со всего мира.

Каждый курс содержит видеозаписи лекций, полные тексты и тезисы, а также практические задания и экзаменационные билеты. Материалы практически полностью совпадают с той программой, по которой учатся студенты-очники в Стэнфорде. Чтобы скачать материалы, не требуется никакой регистрации или специального запроса. Они просто выложены в открытый доступ в ZIP-архивах примерно по 300 МБ, а видеоролики ещё продублированы на YouTube.

Вот список открытых курсов:

10 jQuery скриптов для улучшения интерфейса

Reading time3 min
Views11K
С рассветом WEB 2.0 получили развитие и javascript фрэймворки, позволяющие вебмастеру делать динамические элементы сайта гораздо быстрее и проще. Одним из таких фреймворков является jQuery, получивший огромную популярность за свою простоту и невероятно малый вес. Итак, представляю вашему вниманию 10 наиболее полезных скриптов jQuery для улучшения интерфейса вашего сайта.
Читать дальше →

Information

Rating
Does not participate
Location
Минская обл., Беларусь
Date of birth
Registered
Activity