Слава нації
#StandWithUkraine

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

Блог з програмування, оптимізації та адміністрування систем

Перепост: Сборник советов и фактов по оптимизации PHP-скриптов

// 26 Січня, 2011 | 290 переглядів

Одним из основных критериев успешности любого интернет-ресурса является скорость его работы и с каждым годом пользователи становятся всё более и более требовательными по этому критерию. Оптимизация работы php-скиптов — это один из методов обеспечения скорости работы системы.
В этой статье я бы хотел представить на суд общественности свой сборник советов и фактов по оптимизации скриптов. Сборник собирался мною достаточно долго, основан на нескольких источниках и личных экспериментах.
Читати далі…

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

// 20 Вересня, 2010 | 304 переглядів

Я встретился с новым типом ботнета. Если старый долбил только в главную, то новый действует иначе. Он посылает множество запросов вида
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 | 78 переглядів

Выглядит так

-[1,]

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

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

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

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

// 20 Вересня, 2009 | 958 переглядів

Введение

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

Читати далі…