Здравствуйте, есть сервер с
подключенным модулем 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="" href="http://192.168.1.2:8080/p/" target="_blank">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="" href="http://192.168.1.2:8080/p/" target="_blank" style="color: rgb(0, 0, 204); ">http://192.168.1.2:8080/p/file.rar?md5=<?=strtr(base64_encode(md5($_SERVER['REMOTE_ADDR']."file.rar"."12345", true)), '+/', '-_') ?>">файл</a>