Здравствуйте, David.
Вы писали 12 января 2008 г., 3:20:09:
А зачем это нужно, если есть куда более мощный X-Accel-Redirect?
Можно ставить сервера исключительно для статики, которые будут его
раздавать без обращения к БД/динамике.
Меньше мощности, но и меньше требований. Зато больше функционала.
Но ведь кто-то же всё равно должен будет эту ссылку сформировать и выдать
клиенту? И этот "кто-то" будет динамичным. А раз он всё равно есть, то гораздо
логичнее ему же эту ссылку и получить и выдать x-accel-redirect уже на статический
сервер.
То есть, конечно, пусть расцветают все цветы, но как-то задач под этот модуль
я не вижу...
Я изготовил 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.