ПРОЕКТЫ 


  АРХИВ 


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]

Re: Запрос на mysql из м одуля



Georg Tadeev пишет:

Nikolay,
буду очень благодарен если покажешь модуль, с mysql-ом пока проблем не удалось решить.
Спасибо заранее,


На самом деле это пропатченный AccesKey модуль (http://wiki.codemongers.com/NginxHttpAccessKeyModule), лежит тут: http://94.124.200.59/pub/ngx_http_expirelink_module.tar.gz При запросе файла с сервера в аргументах передается время до которого ссылка валидна и (md5|sha1) хэш от "URI,expire_time,salt", если текущее время меньше expire_time и хэш верный файл отдается, в противном случае - 403.
Пример конфига:

location /files/ {
  expirelink on; #включаем
  expirelink_arg "s"; #имя аргумента с хэшом
  expirelink_timestamp_arg "t"; #имя аргумента с временем, до которого валидна 
ссылка
  expirelink_signature "1234112121"; #секретное слово
  expirelink_hashmethod md5; #тип хэша (md5|sha1)
  root   /var/www/storage;
}



2008/12/17 Nikolay Sivko <default_xz@xxxxxxxx <mailto:default_xz@xxxxxxxx>>

    Georg Tadeev пишет:


        Кирилл спасибо за ответ.

        Кратко скажу в чём дела.

        Делаю всё это для Download Manager-а.

        Схема такая: клиент заходит на php скрипт, который генерирует
        для него уникальный URL, типа
        http://server.com/files/myfile.rar?key=abcdef123, потом пишет
        в базу этот URL, ип клиента, и дату до которой ссылка будет
        существовать. Привязка URL к ип уже реализовано в модуле
        access-key, вот и подумал также проверить срок простым sql
        запросом. Не хочу отдавать фаил через php, сильно тормозит.


    Время, до которого валидна ссылка, ставьте в параметры + в
    параметры суньте некий хэш от (uri без аргументов+expire
    time+секретное слово)
    То есть ссылка получится вида:
     
http://server.com/files/myfile.rar?expire=1229539081&key=8273b7175dc46c99113a0bfdb6bafad1
    
<http://server.com/files/myfile.rar?expire=1229539081&key=8273b7175dc46c99113a0bfdb6bafad1>
    <http://server.com/files/myfile.rar?key=abcdef123>
    Модуль, который реализует данный функционал могу выложить, если нужно.


        С уважением

        2008/12/17 Kirill A. Korinskiy <catap@xxxxxxxxxxxxx
        <mailto:catap@xxxxxxxxxxxxx> <mailto:catap@xxxxxxxxxxxxx
        <mailto:catap@xxxxxxxxxxxxx>>>


           At Wed, 17 Dec 2008 18:17:15 +0400,
           Georg Tadeev wrote:

           > Есть альтернатива?
           >
           > Можете подсказать каким путём лучше?
           >
           > Может быть named pipes? Есть где-нибудь пример
        использования из
           модуля?

           Если хочется ходить в mysql из nginx, то придеться
        mysqlclient обучить
           ngx_event_t, что бы одна точка была работы с сетью.

           А вынести авторизацию на внешний ресурс (fcgi или простой http
           демон) нельзя?









 




Copyright © Lexa Software, 1996-2009.