Re: Как подмешать ip в хэш

Trent Clainor trent на clainor.com
Пн Мар 28 16:12:31 MSD 2011


>
> Здравствуйте, есть сервер с
> подключенным модулем secure_link_module.
> При таком конфиге
>
>        location /p/ {
>                secure_link_secret "12345";
>                root /usr/local/nginx/html/p/;
>                if ($secure_link = "") {
>                        return 403;
>                }
>                rewrite ^ /$secure_link break;
>        }
>
> все прекрасно работает. ссылка
> получается с хэшем от названия файла и
> секетного слова. Но грош цена такой
> защите, так как ссылки будут постоянно
> одного вида для всех пользовтелей. Знаю
> что в хэш подмешиваю ip юзера, чтобы
> ссылка работала только для одного
> юзера.
>
>        location /p/ {
>                secure_link_secret $remote_addr;
>                root /usr/local/nginx/html/p/;
>                if ($secure_link = "") {
>                        return 403;
>                }
>                rewrite ^ /$secure_link break;
>        }
> Но вот конструкция вида упорно не хочет
> работать, постоянно отдает 403 редирект,
> что говорит о том что хэш не верен.
> Ссылку генерирую вот так
>
> <a href="http://192.168.1.2:8080/p/<?echo
> md5('file.rar'.$user_ip);?>/file.rar">файл</a>
>
> гугли и пользовался поиском по форуму,
> но ответ так и не нашел.
>


location /p/ {
    secure_link $arg_md5;
    secure_link_md5 $remote_addr$uri12345;
    if ($arg_md5 = "") {
        return 403;
    }
    if ($secure_link = "") {
    }
    root /
}

<a href="http://192.168.1.2:8080/p/file.rar?md5=<?=strtr(base64_encode(md5($_SERVER['REMOTE_ADDR']."file.rar"."12345",
true)), '+/', '-_') ?>">файл</a>
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110328/7b189baf/attachment.html>


Подробная информация о списке рассылки nginx-ru