Добрый день!
Я изготовил 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"