Как ограничить скачивание файла по прямой ссылке?
На основе заголовка X-Accel-Redirect и директивы internal в nginx можно реализовать любую логику по ограничению доступа.  И в отличии от отдачи файла непосредственно php-скриптом, этот вариант намного эффективней, т.к. php-скрипт только проверку доступа будет делать, а отдачей уже займется nginx. 
Пример использования: www.opennet.ru/base/net/nginx_x_accel_redirect.txt.html
как вариант wiki.nginx.org/HttpAccessKeyModule