Здравствуйте Igor,
Monday, June 23, 2003, 6:44:43 PM, Вы писали:
IS> On Sun, 22 Jun 2003, Монашёв Михаил wrote:
>>
>> IS> Так как атака делается обычными браузерами, то большинство из них
>> IS> выставляет заголовок "Referer". Поэтому можно проверять этот заголовок
>> IS> mod_rewrite'ом для тяжёлых урлов. В случае, если реферер есть
>> IS> и он не совпадает с нашим сайтом или с разрешенными сайтами (например,
>> IS> поисковиками), то выдавать пустой ответ или редирект туда, откуда пришёл.
>>
>> Спасибо за идею!
>> Её можно реализовать и без mod_rewrite:
>>
>> SetEnv we_under_atack no
>> SetEnvIf Referer bad-site\.com we_under_atack=yes
>> PassEnv we_under_atack
>>
>> и в скриптах проверять переменную we_under_atack.
IS> Реферер можно с таким же успехом проверять и в скриптах.
IS> mod_rewrite'ом же можно вообще не довести дело до скрипта, так
IS> как запуск cgi - не самая дешёвая операция как с точки зрения памяти,
IS> так и процессора, особенно, когда одновременных запусков будет много.
А что нужно написать в конфига Апача, чтоб он "не доводил до скрипта",
а сам отдавал ответ?
>> А что можно предпринять заранее? Вот например с фильтрация запросов,
>> идущих к медленным скриптам с подобным в заголовке
>>
>> Accept: image/gif, image/jpeg, */*
>>
>> , т.е. только image/* и */*
>> Или вообще пропускать только те запросы, у которых в Accept стоит
>> только */* или есть подстрока text/html
>>
>> SetEnv we_under_atack yes
>> SetEnvIf Accept "^*/*$" we_under_atack=no
>> SetEnvIf Accept text/html we_under_atack=no
>> PassEnv we_under_atack
>>
>> Или так лучше не поступать, т.к. может привести к потере посетителей?
IS> Не знаю, я особенно не интересовался, что и в каких случаях браузеры
IS> в Accept.
IS> Игорь Сысоев
IS> http://sysoev.ru
С уважением,
Монашёв Михаил, SoftSearch.ru
ICQ# 166233339
http://softsearch.ru/
Без бэкапа по жизни.