Роман Теличко

Блог о программировании, оптимизации и администрировании

Перепост: Защита от DDOS атаки случайными аргументами при помощи Nginx

// 20 сентября, 2010 | 264 просмотров

Я встретился с новым типом ботнета. Если старый долбил только в главную, то новый действует иначе. Он посылает множество запросов вида
GET someurl/?t1555ss5326=5326,
где someurl — найденный ботом php скрипт.
Но если атакуемый сайт поддерживает ЧПУ, то такие запросы к нему должны отсутствовать в принципе. ЧПУ сейчас является стандартом де-факто, по этому можно смело отрезать такие запросы, логируя IP ботов.
Для этого очень удобен nginx, и его переменная is_args, которая имеет значение «?», если в URI идут аргументы. Базовая конструкция выглядит так:

if ($is_args = "?") { 
    return 444; 
}

Очень просто и красиво, правда?
Вот как выглядит LA после включения этой защиты:
load average: 1.50, 3.09, 6.96
Текущий ботнет из ~20000 зомби, делают 5-8k одновременных запросов.

Оригинал: https://habrahabr.ru/blogs/infosecurity/104601/

Самый короткий код для определения IE (ниже IE8)

// 9 января, 2010 | 61 просмотров

Выглядит так

-[1,]

Пример использования

if( -[1,] )
{
    alert('Not IE!');
}

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

Перепост: Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

// 20 сентября, 2009 | 892 просмотров

Введение

С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.

Читать далее…