# Hotlink Protection: запрет чужих ссылок на картинки

> Hotlink Protection в cPanel: как запретить чужим сайтам показывать ваши картинки напрямую и не потерять на этом трафик из соцсетей.

## Что такое хотлинк и почему это проблема

Хотлинк — это когда чужой сайт вставляет тег `<img>` с прямой ссылкой на картинку с вашего сервера, вместо того чтобы скопировать файл себе. Картинка отображается на чужой странице, а трафик и нагрузку на канал и на I/O диска несёт ваш хостинг. При популярном изображении на форуме с большой посещаемостью счёт идёт на гигабайты трафика в день без единого визита на ваш сайт.

Hotlink Protection в cPanel закрывает эту дыру: сервер проверяет заголовок Referer запроса и отдаёт картинку только тем, кто пришёл с разрешённых доменов.

## Как включить защиту в cPanel

Откройте cPanel → Security → Hotlink Protection. В поле URLs to allow access впишите домены, с которых показ картинок разрешён — свой основной домен, зеркала и поддомены. В поле Direct request укажите, что делать при обращении без заголовка Referer вообще: браузеры и часть приложений его не отправляют.

В поле Redirect URL можно указать адрес заглушки — картинку с надписью, что оригинал находится на вашем сайте. Список расширений по умолчанию: `jpg jpeg png gif bmp`, можно расширить до `webp svg mp4`.

## Что происходит с .htaccess после включения

Инструмент дописывает блок RewriteCond и RewriteRule в файл `.htaccess` корневой папки. Проверить результат можно через [файловый менеджер](https://www.zevshost.net/ru/kb/cpanel-file-manager/):

```
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?example\.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]
```

Правило пропускает запросы с пустым Referer (первая строка) и с доменов из списка разрешённых, всё остальное блокирует кодом 403 Forbidden.

## Риски: что может сломаться

| Источник трафика | Referer | Риск после включения |
| --- | --- | --- |
| Поиск Google, переход по ссылке | Есть, домен поисковика | Не блокируется |
| Facebook, предпросмотр ссылки | Часто пустой | Зависит от настройки Direct request |
| RSS-читалки и почтовые клиенты | Обычно пустой | Зависит от настройки Direct request |
| Чужой форум с прямой ссылкой на картинку | Домен форума | Блокируется, это и есть цель |

Если разрешить Direct request без Referer, часть чужих хотлинков всё равно пройдёт — многие обходят проверку, просто не отправляя заголовок. Полной защиты Hotlink Protection не даёт, но отсекает основную массу автоматических загрузок и бережёт [лимиты хостинга](https://www.zevshost.net/ru/kb/limity-hostinga/) по трафику и I/O.

## Как проверить, что правило работает

Откройте картинку с вашего сайта напрямую в браузере — она должна показаться, потому что Referer при вводе адреса в строку пустой и разрешён по умолчанию. Затем проверьте через curl с поддельным заголовком постороннего домена:

```
curl -I -e "https://stranger-site.example/" https://your-domain.example/images/photo.jpg
```

Код ответа 403 подтверждает, что защита работает. Код 200 означает, что домен stranger-site.example либо в списке разрешённых, либо правило ещё не сохранилось.

## Когда Hotlink Protection не подходит

Если картинки нужно встраивать на партнёрских сайтах намеренно — например, виджет с ценами или логотип для реферальной программы — добавьте домен партнёра в список разрешённых явно. Для картинок, которые публикуются в соцсетях через Open Graph, добавьте домены facebook.com, t.me и другие площадки, иначе превью ссылок перестанут показываться.

## Итог: чек-лист настройки Hotlink Protection

- Включите защиту через cPanel → Security → Hotlink Protection
- Добавьте в разрешённые домены свой сайт, зеркала и площадки соцсетей
- Настройте Direct request в зависимости от того, важен ли трафик без Referer
- Проверьте правило командой curl с поддельным Referer
- Пересмотрите список расширений, если хотлинкают не только картинки, а и видео

---

Источник: https://www.zevshost.net/ru/kb/cpanel-hotlink-protection/
