Re[3]: nginx и dos

Anton Yuzhaninov citrin at citrin.ru
Sat Aug 5 21:39:42 MSD 2006


Hello Михаил,

You wrote on Saturday, August 5, 2006, 9:23:45 PM:

K>> а  по  сути  тяжелых  запросов  -  ограничивать  число одновременно
K>> ведущихся поисков, как с одного адреса, так и в общей сумме.

ММ> А чем ограничивать? Не самому же эту статистику вести. Простое решение
ММ> есть?

Удобно ограничивать доступ к разным ресурсам с одного ip используя
алгоритм Token bucket

http://en.wikipedia.org/wiki/Token_bucket

А текущие значения удобно хранить в memcached.
Ключ можно сделать вида resurce.IP, например search.213.14.10.25
В значении - время последней модификации записи и количество токенов в
корзине.

Если пишите на перле, то есть модуль:
http://search.cpan.org/~kappa/Algorithm-TokenBucket-0.2/lib/Algorithm/TokenBucket.pm

Используя его можно написать свой модуль который для хранения данных
по каждому IP будет использовать memcached.

И тогда для ограничения доступа к тому или иному ресурсу в код
достаточно будет вставить пару строчек.

-- 
 Anton Yuzhaninov.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1781 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20060805/e3ab6aff/attachment.bin>


More information about the nginx-ru mailing list