ПРОЕКТЫ 


  АРХИВ 


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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Подмена урла с отдачей файла
  • From: Роман <n.g.i.n.x.e.r@xxxxxxxxx>
  • Date: Sun, 14 Apr 2013 21:32:06 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:content-type; bh=PoNQrWxxV6upOgmz/OqTmPS2Zx39Njd0wP3iiOhYeWE=; b=h9pw63cyxYMm7AthVWVuEf1JeK5ie1A77LE7oHnMz/1r/NPKpLnvlsCAXBkU9IBGuS 01s6phBhxLaNW1kywAEnprwKgfEtx+tn28JTeVudcXzY0d77WM7vkidlZa49QRxfXgnI Pxh1K9+zgAmg3ilFlEsy6JTWY5BM146k9S1oWPR3ZOigCFGkEJ3XlQJflpo5BhKV59qP 9Abf/LteFWX/CmWExn0+DH4W2W/cSGgmQgzDEFWn88HwFa6dqxMFfkNaEzShV5n9CbmC zIiprK7mg/iV840jD3miqhNnU40tCiJsjxJ+I+kx4kEds+lyP2K8XJ50//EqWLqF+7QI Xnqw==
  • In-reply-to: <393F6BB5-84C8-4C57-84B8-1548A280D829@sonru.com>
  • References: <CAM_OpgT8cFy0-W5mMpmj7PR0=GHhKcSGP9u-0gpO462mL9MCSQ@mail.gmail.com> <393F6BB5-84C8-4C57-84B8-1548A280D829@sonru.com>

Дело в том, что ссылки не постоянные.
Короткая и настоящая лежат в базе.



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


 




Copyright © Lexa Software, 1996-2009.