антихотлинк
December 9th, 2008
Апач:
.htaccess или Directory
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://.*mydomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://.*google.*$ [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ http://google.com [R,L]
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://.*mydomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://.*google.*$ [NC]
RewriteRule .*[Jj][Pp][Gg]$|.*[Gg][Ii][Ff]$ http://google.com [R,L]
nginx:
location ~* ^.+\.(jpg|jpeg|gif|mpg)$ {
valid_referers none blocked server_names ~\.google\. images.yandex.ru ~\.mydomain.com ~\.mydomain2.com;
if ($invalid_referer) {
return 404;
}
}
valid_referers none blocked server_names ~\.google\. images.yandex.ru ~\.mydomain.com ~\.mydomain2.com;
if ($invalid_referer) {
return 404;
}
}
Проверить, если в конфиге nginx сделано так:
server_name ~^(.*)$;
то пункт “server_names” надо убрать из valid_referers
Естественно если уже сделана прямая отдача статики, то надо конструкцию valid_referes … писать внутри того Location
Если надо заблокировать трафик с определенных рефереров, то в nginx делаем так:
valid_referers baddomain1.com baddomain2.com www.baddomain1.com www.baddomain2.com;
if ($invalid_referer != 1) {
return 404;
}
if ($invalid_referer != 1) {
return 404;
}

а для чегт нужен этот самый антихотлинк?
что такое хотлинк?
Хотлинк, это когда владелец другого сайта использует картинки/видео на своем сайте линкуя их напрямую с вашего. Таким образом он разгружает от отдачи тяжелого контента свой сервер и нагружает ваш. И при больших объемах это становится очень чувствительно по бэндвичу и, соотвественно, по деньгам.