Как предотвратить хотлинкинг потокового контента? - PullRequest
2 голосов
/ 07 декабря 2009

У меня есть каталог с моими медиа-файлами, и мне не нужно отображать их на других сайтах. Сервер не поддерживает .htaccess, потому что он использует nginx.

Как я могу включить защиту горячих ссылок для моих файлов ?? Спасибо.

Ответы [ 3 ]

3 голосов
/ 07 декабря 2009

Самый простой способ - проверить заголовок Referer в HTTP-запросе. По сути, если в этом заголовке нет URL-адреса с вашего сайта, это может быть горячая ссылка.

У этого есть следующие проблемы:

  • Заголовок реферера может быть подделан -> горячие ссылки работают
  • Все пользовательские агенты не обязательно отправляют заголовок Referrer -> законный пользователь может не получить содержимое.

Вы также можете установить cookie-файл, когда пользователь просматривает ваш сайт, и проверить наличие этого cookie-файла, когда пользователь обращается к потоковому контенту.

1 голос
/ 30 декабря 2009

Подробности могут быть датированы, но Игорь приводит пример отображения реферера для защиты горячей ссылки на изображение, который может быть полезен здесь: http://nginx.org/pipermail/nginx/2007-June/001082.html

Если вы решили пойти по маршруту реферера.

Если вы используете memcached, вы также можете некоторое время хранить IP-адреса хранилища клиентов и обслуживать потоковое мультимедиа только в том случае, если в кэше обнаружен не истекший IP-адрес клиента. IP-адрес клиента кэшируется во время обычного просмотра, что гарантирует, что лицо, просматривающее ваш потоковый контент, также недавно посещало ваш сайт.

0 голосов
/ 22 января 2018

На моем сайте hostgator они использовали nginx в качестве прокси для Apache (nginx + apache). Может быть, это поможет вам. Кроме того, если у вас есть доступ к журналам, если вы видите большой трафик с ip, я бы исследовал, и если он указывает на сайт, блокирует другой веб-сервер. Файл php_get_contents в Php не блокируется htaccess или чем-либо еще, что я знаю, кроме блокировки ip.

...