Запрет на JavaScript-хотлинкинг с помощью .htaccess

Запрет на JavaScript-хотлинкинг с помощью .htaccess

От автора: почти десять (!) лет назад я написал статью о запрете хотлинкинга изображений. Все мы имеем право защищать изображения, размещенные на нашем сайте, так как это может сильно его замедлить. Мне нравится эта статья, там показано, как запрошенное изображение можно заменить на любое другое.

Например, я могу заменить любой входящий запрос изображения своим логотипом:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_REFERER} !^$
  RewriteCond %{HTTP_REFERER} !^https://davidwalsh.name/.*$ [NC]
  RewriteRule .*.(png|gif|jpe?g)$ [F,NC]
</IfModule>

Но что делать, когда по хотлинку пытаются получить JS-файлы? За эти годы я написал массу статей по JS, зачастую с демо страницами. Я думаю, вы догадываетесь, что я храню много JS-файлов, включая все файлы моего плагина MooTools. Я выбрал слегка жесткий подход для запрета хотлинкинга JS-файлов:

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_REFERER} !^$
  RewriteCond %{HTTP_REFERER} !^https://davidwalsh.name/.*$ [NC]
  RewriteRule \.(js)$ http://davidwalsh.name/hotlink.js [R,L]
</IfModule>

Код выше копируется в мой файл .htaccess и говорит серверу, что тот должен игнорировать запросы JS-файлов с чужих доменов и заменять все JS-файлы на hotlink.js. В этом файлике лежит хитрая ссылка:

window.location = 'https://davidwalsh.name/';

Жестко? Возможно, но они нагружают мой сервер. Люди не должны делать хотлинки на эти файлы, и редирект на мой сайт прямо говорит им, где нужно искать решение проблемы. Я мог бы поступить еще жестче, например, подложить файл evil.js или сделать редирект на сайт для взрослых, но предпочел не заходить так далеко.

Защищайте свой сервер от хотлинкинга. У вас есть полное право на это и, в конце концов, вы, скорее всего, сделаете людям одолжение.

Автор: David Walsh

Источник: https://davidwalsh.name/

Редакция: Команда webformyself.

Самые свежие новости IT и веб-разработки на нашем Telegram-канале

Курс по NodeJS. Основы

Прямо сейчас посмотрите курс по NodeJS!

Смотреть курс

Метки:

Похожие записи

  1. Настройка файла htaccess

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree