Digital Artcore

Ставим защиту от хотлинков

Рано или поздно перед владельцем собственного сервера встает вопрос о защите от хотлинков. Что это такое — все просто. На сайте лежит файл programma.zip Ваши посетители заходят на ваш сервер и скачивают вашу программу. Все довольны и счастливы. Потом появляется гений, который размещает ссылку на ваш файл у себя на сайте. Его посетителям все равно, где файл, они заходят на его страницу, скачивают файл у вас, говорят спасибо ему. Нечестно. Да и родной траффик жалко, особенно если он ограничен. Тоже самое происходит и с картинками, кто-то преспокойно использует ваши картинки у себя на сайте, а вы и не в курсе. Это довольно упрощенное описание проблемы, на самом деле существует еще много аспектов применения защиты от хотлинков. Точно также существует и несколько решений.

Одно из них подходит, когда вы периодически раздаете файлы со своего сервера, то есть держите файл-архив. В таком случае поможет система анти-личинга, примерно такая, как стоит на странице моей программы CDi2MP3. Пользователь заходит и скачивает файл. При попытке личинга система посылает нехорошего человека подальше. Кроме того она может вести учет скачек и много-что еще. Недостаток такой системы — невозможность защитить к примеру картинки.

Мне как раз таки необходимо было защитить мои фотографии. Свои фотографии я храню на сервере в высоком качестве. При просмотре, в зависимости от настроек, специальный скрипт производит кроп до нужного размера, накладывает копирайт и тень, в конце-концов выдаёт все это выдаёт пользователю. Отдавать оригиналы своих фотографий не хочется. Вобщем причин для защиты от хотлинков можно найти много.

Вот один из них. В любой из папок, которую необходимо защитить, создаем файл .htaccess (да, речь идет о веб серверах Apache). Внутри прописываем:

  1. SetEnvIfNoCase Referer «^http://www.artcore.tj» local_ref=1
  2. SetEnvIfNoCase Referer «^http://artcore.tj» local_ref=1
  3. <FilesMatch «.*»>
  4. Order Allow,Deny
  5. Allow from env=local_ref
  6. </FilesMatch>
  7. <FilesMatch «pub_*.*»>
  8. Order Allow,Deny
  9. Allow from All
  10. </FilesMatch>

Теперь подробнее об этой белиберде:

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

Третья строка указывает на маску файлов, которые будут защищены от прямых ссылок. В данном случае это абсолютно все файлы. Если надо защитить только картинки, то третью строку можно заменить на

Перейдем сразу к седьмой строке. Может случиться так, что вы сами захотите поместить файл, который будет разрешен к скачиванию по прямым ссылкам. Я предлагаю в этом случае добавить pub_ к имени вашего файла, например pub_image1.jpg и тогда файл прекрасно отдастся незнакомцу несмотря на ваши запреты. И напоследок — номера строк даны для удобства, их прописывать не надо.

Top! © Digital Artcore. All rights reserved.
Social Links:
GOOGLEPLUS
FACEBOOK
TWITTER
Real time web analytics, Wordpress visitor counter, Wordpress visitor tracking