Запретить хотлинкинг / доступ к файлам 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