Многие сталкивались с таким явлением как DDoS атака методом HTTP флуда. Нет, это не очередной туториал по настройке nginx, хочу представить свой модуль, работающий как быстрый фильтр между ботами и бэкэндом во время L7 DDoS атаки и позволяющий отсеивать мусорные запросы.
Александр Горлов @agorlov
User
+32
Пентест на стероидах. Автоматизируем процесс
6 min
46KС данной темой доклада я выступал на CodeFest. А здесь я перескажу словами, что, как и зачем.

Доклад довольно поверхностный и не требует практически никакой квалификации в области ИБ. Был рассчитан на целевую аудиторию (веб-разработчики, тестировщики (не на проникновение), сисадмины и т.д.). Все довольно просто: несколько утилит, запустили, подождали, разбираем отчет.
Видеоприглашение на конференцию:

Доклад довольно поверхностный и не требует практически никакой квалификации в области ИБ. Был рассчитан на целевую аудиторию (веб-разработчики, тестировщики (не на проникновение), сисадмины и т.д.). Все довольно просто: несколько утилит, запустили, подождали, разбираем отчет.
Видеоприглашение на конференцию:
+68
Звезды мирового фронтенда 3. Здесь русский дух, здесь Русью пахнет
5 min
17KПродолжение предыдущих двух статей — Звезды мирового фронтенда и Звезды мирового фронтенда 2. JS Lovers.
Я понимаю, что как во многих компаниях и веб-студиях, так и среди фрилансеров, есть отличные технологи, фронтендеры и js-кодеры, которые потенциально могут называться звездами фронтенда. Но опять же, нельзя точечно выбрать одних, а о других умолчать. Поэтому я принял решение рассказать о тех, чьи имена на слуху.
Некоторых из них периодически можно встретить на Хабре, многие с ними знакомы. Если вдруг я упустил что-нибудь важное, или кто-то хочет что-то исправить или дополнить, отписывайте в коментариях и я буду оперативно обновлять статью.

Я понимаю, что как во многих компаниях и веб-студиях, так и среди фрилансеров, есть отличные технологи, фронтендеры и js-кодеры, которые потенциально могут называться звездами фронтенда. Но опять же, нельзя точечно выбрать одних, а о других умолчать. Поэтому я принял решение рассказать о тех, чьи имена на слуху.
Некоторых из них периодически можно встретить на Хабре, многие с ними знакомы. Если вдруг я упустил что-нибудь важное, или кто-то хочет что-то исправить или дополнить, отписывайте в коментариях и я буду оперативно обновлять статью.

+67
Отладка программ на C для начинающих
3 min
34K… или что делать если «Hello world!» упала.
Всё последующее в основном написано для ОС Linux и консольной отладки, хотя кое-что можно использовать и в других условиях.
Всё последующее в основном написано для ОС Linux и консольной отладки, хотя кое-что можно использовать и в других условиях.
+25
Почему сеть Фейстеля работает? Объяснение «на пальцах»
4 min
59K
В продолжении статьи про blowfish хотелось бы поговорить про его основу — сеть Фейстеля. Люди «в теме» слышали про неё не одну сотню раз — эта сеть используется в подавляющем большинстве блочных шифров. Но вот вам, только честно, что нибудь понятно из картинки справа? Ну, допустим в одну сторону(шифрование) понятно, а обратно?
Если нет, то прошу под коврик
+30
Перестаньте писать классы
9 min
187K
Каждый раз когда из написанного класса вы создаёте всего один экземпляр, используете только раз и тут же выбрасываете, следует думать: «ой, надо бы это отрефакторить! Можно сделать проще, намного проще!»
Перевод доклада Джэка Дидриха, одного из ключевых разработчиков языка Питон. Доклад прозвучал 9 марта 2012 на конференции PyCon US.
+178
Автоматическая кросс-доменная установка высоты Iframe
4 min
36KTutorial
Думаю, многие, кто сталкивался в своей работе с iframe, сталкивались и с задачей установки высоты этого самого айфрейма.
Это может быть необходимо, например, когда ты хочешь дать возможность пользователям ставить виджеты с вашего сайта на их сайт, и хочется, чтобы размер контейнера (iframe) виджета соответствовал размерам содержимого этого виджета.
В яндексе можно найти множество решений этой проблемы, но большинство из них обладают одной проблемой: они не поддерживают возможность менять размеры окна когда содержимое iframe и родительский элемент находятся на разных доменах.
Есть одно неплохое кросс-доменное решение, но оно было написано в 2007 году, а с тех пор многое изменилось. Поэтому пришлось разрабатывать решение этой проблемы самостоятельно, основываясь на приведенном решении.
Это может быть необходимо, например, когда ты хочешь дать возможность пользователям ставить виджеты с вашего сайта на их сайт, и хочется, чтобы размер контейнера (iframe) виджета соответствовал размерам содержимого этого виджета.
В яндексе можно найти множество решений этой проблемы, но большинство из них обладают одной проблемой: они не поддерживают возможность менять размеры окна когда содержимое iframe и родительский элемент находятся на разных доменах.
Есть одно неплохое кросс-доменное решение, но оно было написано в 2007 году, а с тех пор многое изменилось. Поэтому пришлось разрабатывать решение этой проблемы самостоятельно, основываясь на приведенном решении.
+30
Fiddler — помощник в отладке JavaScript
3 min
207KНа Хабре уже упоминалась данная тулза, но как-то в контексте других тем.
Итак Fiddler — прокси, который работает с трафиком между вашим компьютером и удаленным сервером, и позволяет просматривать и менять его.
What is Fiddler?
Fiddler is a Web Debugging Proxy which logs all HTTP(S) traffic between your computer and the Internet. Fiddler allows you to inspect traffic, set breakpoints, and «fiddle» with incoming or outgoing data. Fiddler includes a powerful event-based scripting subsystem, and can be extended using any .NET language.
Fiddler is freeware and can debug traffic from virtually any application that supports a proxy, including Internet Explorer, Google Chrome, Apple Safari, Mozilla Firefox, Opera, and thousands more. You can also debug traffic from popular devices like Windows Phone, iPod/iPad, and others.
To debug applications you've written in Java, .NET, or using WinHTTP, see this page.
Итак Fiddler — прокси, который работает с трафиком между вашим компьютером и удаленным сервером, и позволяет просматривать и менять его.
+21
RealSync — односторонняя синхронизация исходников в реальном времени для веб-разработчиков
6 min
30K
RealSync — утилита для Windows, MacOS и Linux, позволяющая в реальном времени содержать на удаленном сервере точную копию файлов (например, скриптов на PHP, Python, Ruby и др.) из папки на вашем локальном компьютере, даже в условиях плохой связи, когда вы работаете из дома. Все изменения, производимые в локальной папке, попадают на сервер практически моментально (задержка около 0.2 с), независимо от того, сколько этих изменений и каким именно образом они были внесены (хоть через IDE, хоть через Блокнот или Far).
Главное отличие RealSync от аналогов — в том, что он крайне устойчив к нестабильности интернет-соединения, реконнектам и тайм-аутам. При этом используется SSH-соединение, доступ через которое конфигурируется автоматически при первом запуске утилиты (т.е. не нужно возиться с ключами — настройка производится в интерактивном режиме).

И зачем этот велосипед, когда есть Samba или Денвер или XAMPP?
+50
JoDo.im — симбиоз jabber-сервера и системы управления фрилансерами
5 min
1.2K
Через какое-то время у меня появились постоянные сотрудники и фрилансеры. Первое время обсуждение проектов и и работа над ними велась голосом, телефоном и емейлом.
+5
Ускорим 3G модем при помощи внешней антенны
4 min
499KВо всех 3G модемах есть внутренние антенны. В некоторых моделях их даже по две-три. Об этих антеннах никто и не задумывается, пока модем без проблем прокачивает через себя пяток-другой Мбит в секунду. Но если скорость составляет считанные килобиты и если компьютер с модемом уже побывал во всех углах комнаты в поисках хоть какого-то сигнала, но так его и не нашёл, то первое, что может помочь – это внешняя антенна.
+52
MySQL в NGINX: использование блокирующих библиотек в неблокирующем сервере
7 min
8.6KКак известно, при разработке высоконагруженных серверов часто применяется событийная модель работы с сокетами. Ключевым компонентом системы при этом является epoll (во FreeBSD и Windows есть свои решения, но остановимся на Линуксе). Функция epoll_wait, будучи единственным блокирующим вызовом, возвращает нам информацию обо всех сетевых событиях, которые нас интересуют. Подобным образом, конечно, работает и всем известный сервер NGINX.
Событийная модель программирования делает код весьма своеобразным, как будто выворачивает его наизнанку. Но эта проблема не так страшна. Есть другая проблема — использование в событийно-ориентированном коде существующих библиотек, изначально не предназначенных для него. Если подобная библиотека делает блокирующие вызовы (например, connect, recv и т.д.), вся событийная модель может потерять смысл т.к. окончания одного такого вызова будут ждать все остальные клиенты, что совершенно неприемлемо, если вы пишете серьезный продукт.
Событийная модель программирования делает код весьма своеобразным, как будто выворачивает его наизнанку. Но эта проблема не так страшна. Есть другая проблема — использование в событийно-ориентированном коде существующих библиотек, изначально не предназначенных для него. Если подобная библиотека делает блокирующие вызовы (например, connect, recv и т.д.), вся событийная модель может потерять смысл т.к. окончания одного такого вызова будут ждать все остальные клиенты, что совершенно неприемлемо, если вы пишете серьезный продукт.
+61
JavaScript F.A.Q: Часть 1
15 min
74K
Несколько дней назад мы с TheShock создали топик в котором собирали ваши вопросы, касательно JavaScript (архитектура, фрэймворки, проблемы). Настало время ответить на них. Мы получили очень много вопросов, как в комментариях так и по email. Эта первая часть ответов — те вопросы, которые достались мне.
+222
Изучение иностранных языков: живые учителя или интернет?
4 min
74K
— Феденька, ты очень интеллигентный мальчик, ты мне очень нравишься, но Я БУДУ СТАВИТЬ ДВА В ГОДУ!!! — визжала моя школьная учительница по французскому и делала примерно такое лицо.
Моя школьная учительница по английскому языку делала другое лицо:
+182
Обзор бесплатных инструментов для пентеста web-ресурсов и не только v2
8 min
195KКак-то давно я уже писал об этом, но немного скудно и сумбурно. После я решил расширить список инструментов в обзоре, добавить статье структуры, учесть критику (большое спасибо Lefty за советы) и отправил ее на конкурс на СекЛаб (и опубликовал ссылку, но по всем понятным причинам ее никто не увидел). Конкурс закончен, результаты объявили и я с чистой совестью могу ее (статью) опубликовать на Хабре.
В данной статье я расскажу о наиболее популярных инструментах для пентестинга (тестов на проникновение) веб-приложений по стратегии «черного ящика».
Для этого мы рассмотрим утилиты, которые помогут в данном виде тестирования. Рассмотрим следующие категории продуктов:
Бесплатные инструменты пентестера веб-приложений
В данной статье я расскажу о наиболее популярных инструментах для пентестинга (тестов на проникновение) веб-приложений по стратегии «черного ящика».
Для этого мы рассмотрим утилиты, которые помогут в данном виде тестирования. Рассмотрим следующие категории продуктов:
- Сетевые сканеры
- Сканеры брешей в веб-скриптах
- Эксплойтинг
- Автомазация инъекций
- Дебаггеры (снифферы, локальные прокси и т.п.)
+103
HD-видео на компьютере: CPU, DXVA, Hi10P, плееры
5 min
124K





Казалось бы, такая обыденная задача, как воспроизведение видео не должна вызывать никаких проблем, но по прежнему это не совсем так.
Т.к. речь идет о HD-видео, то потребуется высокая производительность декодера. Например, если декодериуем на CPU, то на потоках 30-35 MBps на Intel Core2 Duo E8500 3.2 GHz уже начинают выпадать кадры. Процессор довольно быстрый, разница в производительности по сравнению с ядром Sandy Bridge на той-же частоте будет порядка 20%. Качественно пережатый full-HD фильм может создать проблемы, не говоря уж об оригинальных потоках с Blu-ray, там поток может достигать 45 MBps. Обладатели ноутбуков обычно имеют процессоры послабее, да и настольные системы не у всех с мощными CPU. Еще один случай, где CPU становится узким местом – это deinterlacing. Deintrlacing необходим при просмотре потоков спутниковых HD каналов, потоки там с разумным bitrate (обычно 10-15 MBps), но программный deintarlace съедает все остатки ресурсов. Причем качественный deinterlace, без замыливания и с сохранением fps, тяжелы для CPU. Единственный выход – использовать аппаратное декодирование, которое предлагают современные GPU. Про видео со спутниковых каналов следует отметить, что они бывают частично поврежденными, т.к. прием не всегда идеален, поэтому важно, чтобы плеер стабильно переваривал такие “срывы” потока.
+37
Прототип Lane Departure Warning или как напомнить водителю о том, что жить ему осталось не очень долго
7 min
7.7K
Почитал я немного про автовыставку в Детройте, про то, что Lane Departure Warning становится все более и более популярным и решил, что надо бы поделиться своим опытом изготовления прототипа этой системы из нехитрых компонентов в виде веб-камеры, Питона, OpenCV и пары дней усердной медитации:)
Историю создания прототипа можно почитать и посмотреть под катом… (там картинки, много...)
+177
Simpliste: всего одна неделя
2 min
1.5K
Не знаю, как для вас, а для меня прошедшая неделя оказалась насыщенной. Чуть больше недели прошло с момента первого поста о Simpliste и чуть меньше с момента второго поста. Эти несколько дней принесли и неожиданные, и приятные события.
Simpliste, который я сразу назвал шаблоном, не претендовал ни на роль фреймворка-конкурента Бутстрапу, ни на роль сервиса создания сайтов в два клика. Хотя, поступали предложения о том, чтобы превратить его и в то, и в другое. Все, чего я хотел, было предоставить возможность людям скачать пару файлов, наполнить информацией и получить современный HTML5 сайт, оптимизированный для мобильных устройств. Еще там есть темы оформления.
Когда я предложил создавать темы оформления всем желающим, тяжело сказать, чего во мне было больше: скептицизма или веры в лучшее. Но судя по тому, что что-то заставило меня это сделать, я остаюсь преимущественно оптимистом.
Итак, правила были объявлены и неделя прошла в работе.
+67
Экскурсия по Селектелу: ДЦ «Цветочная»
4 min
24KПродолжаем цикл экскурсий по Селектелу. На этот раз — дата-центр «Цветочная». Там же находятся наши офисные помещения (то есть мы).
Начнём с видео экскурсии (обратите внимание на кнопку HD сверху):
(альтернативная ссылка)
Серверная на Цветочной имеет очень высокий потолок. Благодаря этому там находится довольно значительный объём прохладного воздуха. Наш НЗ, так сказать.
На этой фотографии видна высота потолков. На фотографии — бесперебойники, точнее, их силовая часть. Аккумуляторы находятся в другом помещении. Три белых ящика посередине — электрические коммутационные узлы, которые позволяют вывести из эксплуатации любой из источника питания (оба ввода городской электрической сети, упсы, дизели) без остановки работы. Я откровенно плаваю в такой электротехнике, но во время профилактики я в них (издалека) заглядывал — внутри огромной толщины медные шины — в палец толщиной, шириной в ладонь.

На фотографии ниже можно видеть как именно выглядит холодный коридор — в относительно тесном Технодоме не было возможности увидеть его целиком, на Цветочной — можно. Каждая такая «комнатка» распределяет холодный воздух для двух рядов стоек для серверов. Эта фотография сделана через «смотровое окошко для клиентов» не во время основной фотосессии, так что зал находится в совершенно непарадном виде: половина освещения выключена (экономим, угу), виден след от ежедневной влажной уборки.
Начнём с видео экскурсии (обратите внимание на кнопку HD сверху):
(альтернативная ссылка)
Серверная
Серверная на Цветочной имеет очень высокий потолок. Благодаря этому там находится довольно значительный объём прохладного воздуха. Наш НЗ, так сказать.
На этой фотографии видна высота потолков. На фотографии — бесперебойники, точнее, их силовая часть. Аккумуляторы находятся в другом помещении. Три белых ящика посередине — электрические коммутационные узлы, которые позволяют вывести из эксплуатации любой из источника питания (оба ввода городской электрической сети, упсы, дизели) без остановки работы. Я откровенно плаваю в такой электротехнике, но во время профилактики я в них (издалека) заглядывал — внутри огромной толщины медные шины — в палец толщиной, шириной в ладонь.

На фотографии ниже можно видеть как именно выглядит холодный коридор — в относительно тесном Технодоме не было возможности увидеть его целиком, на Цветочной — можно. Каждая такая «комнатка» распределяет холодный воздух для двух рядов стоек для серверов. Эта фотография сделана через «смотровое окошко для клиентов» не во время основной фотосессии, так что зал находится в совершенно непарадном виде: половина освещения выключена (экономим, угу), виден след от ежедневной влажной уборки.
+35
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity