Більшість сайтів на своєму «борту» мають файли, які розраховані на використання в межах сайту. Однак сутність інтернету дозволяє легко вставляти посилання на ці файли на сторонніх сайтах, що призводить до появи непотрібного трафіку, як наслідок додаткове навантаження на сервер. Багатьом власником сайтів це може не сподобатися і доводиться шукати рішення даної проблеми.

Захистити на 100% від вставки посилань на файли з вашого сайту не вийде, проте дещо істотне зробити все-таки можна. При запиті на сервер в звичайному випадку браузер посилає HTTP заголовки, серед яких знаходиться заголовка Referer. Кажучи простими словами, даний заголовок вказує на ту сторінку, де знаходився користувач до цього запиту.

За допомогою htaccess ми можемо зробити перевірку заголовка Referer, яка буде виключати згідно з правилом всі небажані запити.

Приступимо до прикладу. Припустимо на нашому сайті http://yournet.kz є файли, які мають розширення .jpg, .gif, .png, і нам необхідно захистити файли від завантаження з інших сайтів.
Відкриваємо наш файл .htaccess, який слід розмістити в директорії з файлами. Першим ділом включаємо механізм перетворення запитів.

RewriteEngine on

Потім складаємо умови фільтрації.

# якщо заголовок HTTP_REFERER не порожній
RewriteCond %{HTTP_REFERER} !^$
# якщо зайшли на сайт, і HTTP_REFERER не дорівнює поточному сайту
RewriteCond %{HTTP_REFERER} !^http://(www.)?yournet\.kz/.*$ [NC]
# якщо зайшли не з сторінки myfile.html з будь-якого домену
RewriteCond %{HTTP_REFERER} !.*/myfile\.html$
# заборона діє для файлів з розширеннями
RewriteRule .(jpg|gif|png)$ – [F]
При тестуванні може виникнути ситуація, коли правила перенаправлення прописані, однак нічого не працює. В цьому разі рекомендується перевірити включений модуль mod_rewrite. В конфігураційному файлі httpd.conf веб сервера Apache потрібно знайти рядок:
LoadModule rewrite_module modules/mod_rewrite.so
Переконайтеся, що цей рядок не закоментований, т. до. вона підключає модуль mod_rewrite.
Додав: htmaker, 04.10.2014 р.
(2 голосів, середній: 5,00 з 5)

Завантаження…

Діліться з друзями:

См. також:


Детальніше про логах в Apache
Рубрика: Apache

Ротація логів в Linux
Рубрика: Apache, Linux

Denwer в локальній мережі
Рубрика: Apache, Інструменти

HTTP авторизація
Рубрика: Apache, Інф. безпека

Перегляд списку завантажених модулів Apache
Рубрика: Apache, Linux

httpd вантажить процесор, що робити?
Рубрика: Apache

Тестування сайту під навантаженням
Рубрика: Apache, Інструменти

Як створити SSL сертифікат на Apache для CentOS 6?
Рубрика: Apache, Linux

Як зробити перенаправлення з допомогою .htaccess?
Рубрика: Apache

Коментарі

  • марі пише:
    25.05.2016 у 17:54

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

    Відповісти