Антилич картинок

Автор InoeName, 17 Ноября 2009, 16:32

« предыдущая тема - следующая тема »

0 Пользователей и 3 Гостей просматривают эту тему.

InoeName

Следовал этой инструкции:

ЦитироватьОчень часто недобросовестные ведущие некоторых развлекательных сайтов да и некоторые блоггеры, в целях экономии траффика, вместо того чтобы сослаться на понравившиеся картинки или хотя бы пересохранить их у себя на сервере, просто тянут их к себе прямо с вашего сайта, или как говорится "личат".

Обычно об этом узнают по резко возросшему траффику или по количеству обращений к файлу, которое не соответствует количеству посетителей. А так как траффик отдавать просто так обидно, да и злостных личеров стоит наказать, то проблему надо решать. Есть много способов.

открываем файл .htaccess и добавляем туда этот код

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?твой сайт.что-то [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?images.google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?images.google.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?images.yandex.ru [NC]
RewriteCond %{REQUEST_URI} !^/тут_картинка_которая_будет_показываться_на_других_сайтах.jpg [NC]
RewriteRule .(gif|jpg|jpeg|png|swf)$ http:// мой_сайт.ру/тут_картинка_которая_будет_показываться_на_других_сайтах.jpg [R,NC]


Конечно предварительно заменив под себя, пример:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?http://mysite.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?images.google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?images.google.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?images.yandex.ru [NC]
RewriteCond %{REQUEST_URI} !^/antipicture.jpg [NC]
RewriteRule .(gif|jpg|jpeg|png|swf)$ http:// mysite.ru/antipicture.jpg [R,NC]

но антилич не заработал- кто поможет настроить антилич ? Движок DLE 8.2

Или может какого то модуля не хватает на серваке? ОС- FreeBsd 6

Vicpo

17 Ноября 2009, 16:40 #1 Последнее редактирование: 17 Ноября 2009, 16:41 от Vicpo
Цитата: InoeName от 17 Ноября 2009, 16:32Следовал этой инструкции:



но антилич не заработал- кто поможет настроить антилич ? Движок DLE 8.2

Или может какого то модуля не хватает на серваке? ОС- FreeBsd 6
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?http://mysite.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?images.google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?images.google.ru [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?images.yandex.ru [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|swf)$ http:// mysite.ru/antipicture.jpg [NC]
Попробуйте вот так

Vicpo

если frontend стоит nginx то из правила типа
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
            access_log /home/httpd-logs/access.log;
            set $proot "/home/user/www/site";
            if ( $host = "site" ) {
                break;
            }
            if ( $host = "www.site" ) {
                break;
            }
            error_page 404 = @fallback;
            root $proot;
        }
необходимо убрать расширения картинок или попробовать такой код (за точность не ручаюсь не тестил)

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
            access_log /home/httpd-logs/access.log;
            set $proot "/home/user/www/site";
            if ( $host = "site" ) {
                break;
            }
            if ( $host = "www.site" ) {
                break;
            }
            error_page 404 = @fallback;
            root $proot;
valid_referers   none  blocked  server_names
                     ~\.yandex.ru\.
                     ~\.site.ru\.
                     ~\.google\. ;

    if ($invalid_referer) {
        return   403;
    }
}

InoeName

18 Ноября 2009, 07:37 #3 Последнее редактирование: 18 Ноября 2009, 09:04 от Vicpo
Цитата: Vicpo от 17 Ноября 2009, 17:34если frontend стоит nginx то из правила типа
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
            access_log /home/httpd-logs/access.log;
            set $proot "/home/user/www/site";
            if ( $host = "site" ) {
                break;
            }
            if ( $host = "www.site" ) {
                break;
            }
            error_page 404 = @fallback;
            root $proot;
        }
необходимо убрать расширения картинок или попробовать такой код (за точность не ручаюсь не тестил)

location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
            access_log /home/httpd-logs/access.log;
            set $proot "/home/user/www/site";
            if ( $host = "site" ) {
                break;
            }
            if ( $host = "www.site" ) {
                break;
            }
            error_page 404 = @fallback;
            root $proot;
valid_referers   none  blocked  server_names
                     ~\.yandex.ru\.
                     ~\.site.ru\.
                     ~\.google\. ;

    if ($invalid_referer) {
        return   403;
    }
}




спасибо, заработало !




проверка:


[color="#708090"]Удачная проверка http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/wink.gif\' class=\'bbc_emoticon\' alt=\';)\' /> Vicpo[/color]