FR: accesskey patch

pavel at pronskiy.ru pavel at pronskiy.ru
Fri Jan 11 15:26:11 MSK 2008


Доброго времени Evan.

Для лайти есть такой модуль mod_secdownload -> 
http://trac.lighttpd.net/trac/wiki/Docs:ModSecDownload
Возможно-ли нечто подобное сделать?


Evan Miller пишет:
>  static ngx_int_t
>  ngx_http_accesskey_handler(ngx_http_request_t *r)
>  {
>      ngx_uint_t   i;
>      ngx_uint_t   hashlength,bhashlength;
> -    ngx_http_core_loc_conf_t    *clcf;
>      ngx_http_accesskey_loc_conf_t  *alcf;
>
> модуль (.tar.gz):
>
> http://wiki.codemongers.com/NginxHttpAccessKeyModule?action=AttachFile&do=get&target=nginx-accesskey-2.0.3.tar.gz 
>
>
>     ./configure --add-module=path/to/nginx-accesskey-2.0.3 ...
>
> Evan
>
> Mykola S. Grechukh wrote:
>> исправил несколько мелких ошибок.
>>
>> http://paq.osdn.org.ua/~gns/nginx/nginx-accesskey-2.0.3.diff.bz2
>>
>> 2007/10/10, Mykola S. Grechukh <>:
>>> Добрый день!
>>>
>>> Я изготовил http_accesskey_module. Работает это так:
>>>
>>> в выражении, заданном директивой accesskey_signature, раскрываются
>>> переменные и вычисляется хэш значения . Если в GET строке есть
>>> параметр key со значением хэша, запрос проходит, иначе клиент получает
>>> 403 forbidden.
>>>
>>> Чтобы все это имело какой-то смысл, accesskey_signature должна
>>> содержать переменные, идентифицирующие клиента, например $remote_addr,
>>> и некий секретный ключ (по умолчанию там просто "$remote_addr", что
>>> довольно бессмысленно - любой может изготовить md5 от своего ip
>>> адреса).
>>>
>>> В результате клиенту можно давать url вида
>>> http://x.x.x.x/download?key=a1b2c3d4e5f6g7h8&&filename=onlyforyou,
>>> который будет доступен только с определенного remote_addr.
>>>
>>> директивы:
>>>
>>> accesskey [on|off]
>>>
>>> accesskey_arg "mykeyargname" - строка, имя проверяемого аргумента. По
>>> умолчанию "key".
>>>
>>> accesskey_hashmethod [md5|sha1]
>>>
>>> accesskey_signature "mypass12345$remote_addr"
>>>
>>>
>
>


-- 
icq: 99699699






More information about the nginx-ru mailing list