Я видел много запросов на изображения, размещенные на моем сервере, с других веб-сайтов.
Вместо того, чтобы позволить этому продолжаться, я рассматриваю возможность использования mod_rewrite и .htaccess, чтобы предотвратить это, используя что-то вроде
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?yourdomain.com/.*$ [NC]
RewriteRule \.(gif|jpg|jpeg|png)$ - [F]
Я уверен, что где-то читал, что могут быть какие-то нежелательные побочные эффекты или "ошибки", которые могут вас поймать, но я не могу найти источник или что-то в этом роде. Большинство сайтов предоставляют вам только фрагмент кода, а не обсуждают преимущества и недостатки подхода.
Есть ли такие нежелательные побочные эффекты или "ошибки", о которых мне следует знать, если я решу разместить это на своем сервере?
Единственные реальные проблемы - это если вы попытаетесь использовать изображения, скажем, с mobile.yourdomain.com или someotherdomainIown.net, и они будут заблокированы этим. Я также видел, как многие администраторы перенаправляют изображения с горячими ссылками на другие изображения, например: «Этот человек крадет трафик с yourdomain.com».
Я использую его на своих сайтах в течение многих лет (настроен с помощью CPanel), и он отлично работает, пока он нужен только для экономии полосы пропускания. Вам нужно только не забыть обновить файл при добавлении другого домена / поддомена, иначе они тоже будут заблокированы.
При правильной настройке он не блокирует людей с пустыми реферерами, как предлагается в другом ответе, а только блокирует соединения, у которых реферер отсутствует в разрешенном списке.
Кроме того, я изменил сценарий для перенаправления на файл PHP, поэтому я могу выполнять разные действия в зависимости от домена и типа запрошенного файла:
RewriteRule .*\.(jpg|jpeg|gif|png|mp4|mp3)$ http://www.example.com/hotlink.php?%{SERVER_NAME}%{REQUEST_URI} [R,NC]
Таким образом, скрипт PHP получает имя домена (у меня несколько доменов, размещенных в одной учетной записи) и URL-адрес, который активировал защиту от хотлинков.