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