борьба с ботами средствами nginx

Kirill A. Korinskiy catap+nginx at catap.ru
Wed Mar 18 00:44:41 MSK 2009


At Tue, 17 Mar 2009 21:25:22 +0200,
Gena Makhomed <gmm at csdoc.com> wrote:
> 
> KAK> Этот модуль писался не для этого, на самом деле.
> KAK> Я смог придумать только такое его применение, как пример его использования.
> 
> для чего писался модуль - это наверное военная тайна, но пример выглядит как overkill.

Согласен. Давайте решим что этот модуль просто бред в этом плане, хорошо?

> 
> KAK> map использует ngx_hash_t. В этих хешах есть минус —
> KAK> в них нельзя загрузить *очень* много памяти.
> 
> почему нельзя? это ведь read-only память.
> 

Когда пытался я это сделать я встретился с проблемой что максимальная
длина ключа в 256 символов :( Еще были какие-то проблемы при вставке
очень большой кучи данных — но какие не помню. Давно я это делать пытался.

> KAK> Мои ngx_rbtreehash_t этого недостатка лишены, вот и все.
> 
> насколько я могу понять исходник модуля - при поиске сравниваются только хеши
> ключей и чем больше данных находятся в хеше, тем больше вероятность коллизий?
> 

Там две «хеш» функции. lookup3 и crc32. На строчках ([A-Za-z0-9
\t,.\\/|]) из до тысячи символов коллизий *обоих* функций замечено не
было. Я надеюсь что я не буду в эти хеши совать ключи длинее.

-- 
wbr, Kirill





More information about the nginx-ru mailing list