ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FR: accesskey patch


  • To: nginx-ru@xxxxxxxxx, "Denis Smirnov" <mithraen@xxxxxxxxxxxxxxx>, "Vladyslav Flaks" <fv@xxxxxxxx>
  • Subject: FR: accesskey patch
  • From: "Mykola S. Grechukh" <gns@xxxxxxxxxxxx>
  • Date: Wed, 10 Oct 2007 23:29:09 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:mime-version:content-type:x-google-sender-auth; bh=qLVK1wHeZC80PElHlhO65R/HA0QUvil1IvFSCBnLnzI=; b=VZS0JpP6XIaejpzAUD0jmpTWiLNylOsjTaCci+e6w5H0+35itwMuin1/wNb6jVJlYNK6j73bxz8QHE/qaUC1SJZUOewZKaRy6mzaiVYoB756wbcOxeZy6Z35KJZ1TletscPKkj7FSsBC0yPYRHsWsjJ4hVmnQ+yPcQgT8eCPoek=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:sender:to:subject:mime-version:content-type:x-google-sender-auth; b=K+al6/WepLY5r0wafiuC4iUfTMyBKfrXScJtglAKd4BlnCAowRukvu7b1voMYbNGhMLQ11u/HXIJhUulT/OJNBi/59PczDAsKh4tHY3V7mEE5LpQ2lOKRi+W8ybH8+jOpquV2qJKDR7wZrq3ZJ+dfyXfMwaJL5r7gckg2Vvaw0E=

Добрый день!

Я изготовил 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"

Attachment: nginx-accesskey-2.0.diff.bz2
Description: BZip2 compressed data



 




Copyright © Lexa Software, 1996-2009.