Как предотвратить хотлинкинг в Apache

Хотлинк (Hotlinking), часто называемый кражей полосы пропускания, происходит, когда другие веб-сайты напрямую ссылаются на изображения или другие медиафайлы, размещенные на вашем сервере. Это может привести к увеличению нагрузки на сервер и увеличению пропускной способности, что может замедлить работу вашего сайта и повлечь за собой увеличение расходов на хостинг.

Apache, широко распространенный веб-сервер, предлагает методы предотвращения "горячих ссылок". Используя модуль mod_rewrite, вы можете ограничить доступ к вашим медиафайлам, гарантируя, что они будут доступны только из вашего домена. Эта защита может быть реализована с помощью директивы Directory в конфигурационном файле Apache или файла .htaccess.

Предотвращение "горячих ссылок" не только защищает ваши ресурсы, но и обеспечивает корректное отображение контента на вашем сайте. Это важный шаг для оптимизации работы веб-сервера и сохранения контроля над медиа.

Шаги по предотвращению Хотлинков (Hotlinking) в Apache

Включите модуль перезаписи для Apache.

  • В дистрибутивах с поддержкой a2enmod можно выполнить приведенную выше команду без ручного включения модулей.
  • В CentOS и Red Hat модуль включен по умолчанию, поэтому никаких действий вручную не требуется.

Найдите каталог, в котором находятся ваши медиафайлы.

Отредактируйте файл конфигурации Apache или создайте файл .htaccess в директории, которую нужно защитить.

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

  • RewriteEngine on Включает механизм перезаписи.
  • RewriteCond %{HTTP_REFERER} !^$ Проверяет, не является ли реферер пустым.
  • RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC] Проверяет, что реферер не из вашего домена, с www или без, и либо http, либо https.
  • RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?anotheralloweddomain.com [NC] Проверяет, не является ли реферер из другого разрешенного домена, с www или без, и либо http, либо https.
  • RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L] Блокирует доступ к файлам JPG, JPEG, PNG и GIF, если выполняются вышеуказанные условия. Используются следующие флаги: NC (No Case - без учета регистра), F (Forbidden - отправляет клиенту код состояния 403 Forbidden) и L (Last - прекращает обработку последующих правил, если выполнено это).

Сохраните и выйдите из текстового редактора.

Перезапустите службу Apache, чтобы внести изменения.

Проверьте конфигурацию, попробовав получить доступ к изображению из другого домена.

Убедитесь, что вы очистили кэш браузера или используете другой браузер для точной проверки конфигурации.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий