# 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/uk/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/uk/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/uk/kb/cpanel-hotlink-protection/
