FR: accesskey patch

Константин kot at ereality.ru
Sat Jan 12 17:08:22 MSK 2008


Здравствуйте, Павел.

Вы писали 12 января 2008 г., 15:32:46:

> А что будет если придёт Download Master и каждый раз будет дёргать пхп
> чтобы получить файлик?
> С готовыми ссылками всё гораздо проще.
> PHP скрипт генерит ссылки, а бэкенд проверяет и отдаёт уже файлы.

У меня был опыт написания таких проектов. Бэкэнд генерил и
проверял ссылки и все это на php5 + xcache + memcache

Даже на стареньком Dual Xeon время ответа от бэкэнда не превышало
0.001 секунды и сервер спокойно обрабатывал 350-400 запросов в
секунду. А на фронте стояло несколько серверов nginx, которые и
отдавали статику клиентам :)

> Таким образом вся нагрузка ляжет на бэкенды где находится лайти или 
> (если автор допишет accesskey) нгинкс.

> Поправьте если я где-то что-то упустил.

Вы основываетесь на вашей теории, которая никак не проверена на
практике


> David Mzareulyan пишет:
>> А зачем это нужно, если есть куда более мощный 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.
>>>
>>> директивы:
>>>
>>> accesskey [on|off]
>>>
>>> accesskey_arg "mykeyargname" - строка, имя проверяемого аргумента. По
>>> умолчанию "key".
>>>
>>> accesskey_hashmethod [md5|sha1]
>>>
>>> accesskey_signature "mypass12345$remote_addr"
>>>
>>
>>





-- 
С уважением,
 Константин                          mailto:kot at ereality.ru






More information about the nginx-ru mailing list