Nginx и секретные ссылки


Есть у сервера nginx такой замечательный механизм - секретные ссылки. Позволяет 
генерить ссылку, активную только в рамках сессии/ip пользователя. И делается в два 
счета и пользы много. Для этого собирается отдельный модуль secure_links и 
настраивается он в конфиге так:

location ~ ^/mem/(?<secure>[\w-]+)/(?<time>\d+)/(?<ureq>.+)$ {
    secure_link $secure,$time;
    secure_link_md5 PASSWORD$ureq$time$remote_addr;
    if ($secure_link = "") { return 403; }
    if ($secure_link = "0") { return 404; }
    rewrite ^/mem/(?<secure>[\w-]+)/(?<time>\d+)/(?<ureq>.+)$  /$ureq  break;
    proxy_pass  http://inner.site;
}

Это говорит о том, что все URL вида /mem/... будут у нас секретными-одноразовыми.

Одноразовые ссылки, при этом, нужно генерить в скрипте, таким образом:

<?php

$mypublicurl = "cover/5557";
$secret = 'PASSWORD';
$expired = time() + 30; // ссылка будет рабочей 30 секунд
$key = str_replace("=", "", strtr(base64_encode(md5($secret.$mypublicurl.$expired.getenv("REMOTE_ADDR"), TRUE)), "+/", "-_"));
$old_url = "http://www.myserv.ru/$mypublicurl";
$new_url = "http://www.myserv.ru/mem/$key/$expired/$mypublicurl";
echo "OLD=$old_url<br>";
echo "NEW=$new_url";

?>

Теперь на странице можно отобразить только $new_url и эта ссылка будет валидна 
только для заданного IP и только 30 секунд. Прикольно, да?