Запретить хотлинкинг / доступ к файлам mp4

У меня есть веб-сайт, созданный на PHP, где я играю файлы mp4 через флеш-плеер или html5-плеер. Недавно я увидел, что мои файлы тоже есть на других сайтах, и это стоило мне пропускной способности.

Я использую httpd / apache на удаленном хосте, где хранятся файлы mp4. На сайте я использую nginx.

У меня есть некоторые знания в PHP и MySQL, но я не знаю, как это сделать. Как я могу сделать их доступными только через мой сайт?

1 ответ

Пример 1, блокировка всех горячих ссылок (при обнаружении)

location ~* (\.png)$ {
   valid_referers blocked mysite.com www.mysite.com;
   if ($invalid_referer) {
       return 405;
   }     
}    

Пример 2, перенаправить файлы с горячей ссылкой только для некоторых сайтов

location ~* (\.mp4)$ {
   if ($http_referer ~ ^(http://www.bad.com|http://stupid.com) ) {
       # Redirect to a specific file
       #rewrite  ^/(.*)$ http://mysite.com/dont-hotlink.html last; 

       # Redirect to a dynamic url where /hotlinked/ is some script that
       # displays some info about the hotlinked file.
       rewrite  ^/(.*)$ http://mysite.com/hotlinked/$1/ last; 
   }   
}

Источник: перенаправить или заблокировать файлы с горячей ссылкой с помощью nginx

Другие вопросы по тегам