ПРОЕКТЫ 


  АРХИВ 


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[2]: Подмена урла с отдачей файла



Воскресенье, 14 апреля 2013, 22:28 +04:00 от Роман <n.g.i.n.x.e.r@xxxxxxxxx>:
> 
> При генерации файла инфа о нем кладется в бд и мемкеш
> а при отдаче всего то надо взять одно значение из мемкеша
> вот и думаю как бы это сделать с минимальными потерями.
> 
> 
> 14 апреля 2013 г., 22:11 пользователь Anatoly Mikhailov  < anatoly@xxxxxxxxx 
> > написал:
> >
> >On Apr 14, 2013, at 6:32 PM, Роман < n.g.i.n.x.e.r@xxxxxxxxx > wrote:
> >>Дело в том, что ссылки не постоянные.
> >>Короткая и настоящая лежат в базе.
> >>
> >
> >определитесь что вам, все таки, нужно:
> >- "без какого либо скрипта в бекенде"
> >- "ссылки непостоянные, короткая и настоящая лежат в базе."
> >
> >Анатолий
> >
> >>
> >>
> >>14 апреля 2013 г., 2:49 пользователь Anatoly Mikhailov  < anatoly@xxxxxxxxx 
> >>> написал:
> >>>
> >>>On Apr 13, 2013, at 10:45 PM, Роман < n.g.i.n.x.e.r@xxxxxxxxx > wrote:
> >>>>Есть задачка скрыть реальное нахождение файла и отдавать его по
> >>>>короткой ссылке. Например: заходим по ссылке
> >>>>http://site.com/03209393/file.tgz , скачивание идет по ссылке
> >>>>http://site.com/03209393/file.tgz , а на самом деле файл находится тут
> >>>>http://site.com/arhive/file.tgz
> >>>>
> >>>>Задача довольно простая на первый взгляд, если бы не одно но.
> >>>>
> >>>>Можно ли читать реальную ссылку не скриптом, а например из мемкеша?
> >>>>Тогда бы nginx считывал ссылку и от давал файл без какого либо скрипта
> >>>>в бекенде.
> >>>>
> >>>>Вся задача сводится к убиранию бекенда.
> >>>
> >>>можно даже без мемкэша обойтись, просто соберите nginx с опцией  
> >>>--with-http_secure_link_module
> >>>
> >>>        location /download/ {
> 
> 
> 
> >>>          rewrite         /download/([a-zA-Z0-9_\-]*)/([0-9]*)/(.*)\.tgz$ 
> >>> /archive/$3.tgz?st=$1&e=$2;
> >>>        }
> >>>
> >>>
> 
> >>>        location /archive/ {
> >>>          internal;
> >>>          secure_link           $arg_st,$arg_e;
> >>>          secure_link_md5       YOUR_SECRET_PASSWORD_HERE$arg_e$uri;
> >>> 
> >>>
> 
>           if ($secure_link = "")  { return 403; }
> >>>          if ($secure_link = "0") { return 403; }
> >>> 
> >>>             }
> >>>
> >>>YOUR_SECRET_PASSWORD_HERE -  пароль, с помощью которого вы делаете шифр, 
> >>>$arg_e - timestamp
> >>>пример того, как генерить урлы на Ruby здесь  
> >>>https://gist.github.com/mikhailov/3174601
> >>>
> >>>>_______________________________________________
> >>>>nginx-ru mailing list
> >>>>nginx-ru@xxxxxxxxx
> >>>>http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >>>
> >>>_______________________________________________
> >>>nginx-ru mailing list
> >>>nginx-ru@xxxxxxxxx
> >>>http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >>
> >>_______________________________________________
> >>nginx-ru mailing list
> >>nginx-ru@xxxxxxxxx
> >>http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> >_______________________________________________
> >nginx-ru mailing list
> >nginx-ru@xxxxxxxxx
> >http://mailman.nginx.org/mailman/listinfo/nginx-ru
> 
> 

Посмотрите на eval-модуль, это именно то, что нужно вам.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.