Я веду блог Wordpress, и один "джентльмен" крадет мои сообщения. Я решил усложнить его жизнь и не хотел бы, чтобы в моем блоге были ссылки на изображения.
Я использовал htaccesstools com / hotlink-protection / для создания части .htaccess для предотвращения хотлинков.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?marusiak.pl [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wojcieh.net [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ https://wojcieh.net/wp-content/uploads/2017/06/fuck-you-stealer.gif [NC,R,L]
Я создал тестовый блог, чтобы посмотрим, смогу ли я сделать горячую ссылку на свои изображения https: //stagingwpblog.wordpress. com / 2017/03/13 / test-blog-post / , а изображение все еще отображается.
Что я здесь делаю не так?
Поскольку вы перенаправляете на «альтернативный образ», вам необходимо включить исключение, чтобы запросы к вашему «альтернативному образу» также не перенаправлялись, тем самым создавая перенаправление цикл (который истекает и создает дополнительную нагрузку на ваш сервер!).
Например:
RewriteEngine on
RewriteCond %{REQUEST_URI} !thou-shalt-not-steal\.gif$
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?marusiak.pl [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wojcieh.net [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ https://wojcieh.net/wp-content/uploads/2017/06/thou-shalt-not-steal.gif [NC,R,L]
Однако, если вы должны вернуть изображение (а не просто 403 запрос), то было бы предпочтительнее внутренне переписать запрос, а не перенаправление. Таким образом, ваш сервер не получит дополнительный запрос, а «альтернативное изображение» останется инкогнито (его труднее украсть!). Например:
RewriteEngine on
RewriteCond %{REQUEST_URI} !thou-shalt-not-steal\.gif$
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?marusiak\.pl [NC]
RewriteCond %{HTTP_REFERER} !^https://wojcieh\.net [NC]
RewriteRule \.(jpe?g|png|gif)$ /wp-content/uploads/2017/06/thou-shalt-not-steal.gif [NC,L]
NB: вам нужно установить условие только для канонических хостов.
Кроме того: Инструмент, который вы использовали на htaccesstools.com
, включает дополнительное примечание:
ПРИМЕЧАНИЕ: Убедитесь, что изображение не защищено от хотлинков, иначе ваш сервер может зайти в бесконечный цикл.
... это то, что происходило с вашим кодом. Но они не предоставляют необходимый код / директиву для этого, поэтому сгенерированный код сам по себе не будет работать из коробки.
Это просто. Ваш тестовый сайт загрузит изображение с https://i1.wp.com/wojcieh.net/wp-content/uploads/2016/02/vcenter-server-6.-upgrade-logo.png
, а не с вашего сайта, поэтому ваш .htaccess
не работает.