Перейти к содержимому



Запретить переходы с определенных сайтов

#1 Sosnovskij

Sosnovskij
  • Администратор
  • 3 843 сообщений
  • Репутация: 554
0

Отправлено 24 Декабрь 2013 - 12:08

Приветствую! Продолжение темы про странный трафик. Резко вырос закладочный трафик. Скорее всего, это трафик, когда с определенного сайта вбивается в строку URL и идет переход на сайт. Можно ли средствами Apache ограничить трафик с выбранных сайтов? Необходимо, чтобы посетитель вообще не получал данные, если он перемещается с определенного URL (не по ссылке, а вбивает URL в адресную строку).

 

 

  • 0

Не стесняйтесь ставить оценки темам :) Правила форума. Мой блог http://sosnovskij.ru/.



#2 Ixman

Ixman
  • Пользователь PRO
  • 1 994 сообщений
  • Репутация: 379

Отправлено 24 Декабрь 2013 - 13:45

Я так понимаю передается реферер, значить можно настройками в htaccess такие переходы куда-то перенаправлять.

Собственно вот наверное решение проблемы:

Блокировка посетителей, перешедших с определенного домена
Если вы не хотите видеть на своем сайте пользователей с конкретного домена, то вы можете запретить им доступ. Например, пользователей с нежелательных ресурсов (сайты для взрослых, хакерские сайты и т. д.) вы можете перенаправлять на страницу 403 Forbidden. Для этого необходимо включить mod_rewrite, хотя, как правило, он включен по умолчанию. Добавьте в .htaccess код:


<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} bannedurl1.com [NC,OR]
RewriteCond %{HTTP_REFERER} bannedurl2.com [NC,OR]
RewriteRule .* - [F]
</ifModule>



Вам необходимо заменить bannedurl1.com и bannedurl2.com доменами, которые вы хотите внести в черный список. Вы можете использовать флаг [NC], указывающий, что введенное доменное имя нечувствительно к регистру. Флаг [F] указывает на тип действия, в данном случае — отображение ошибки 403 Forbidden. Если вы хотите запретить несколько сайтов, используйте флаги [NC, OR] для каждого домена, если же вы хотите запретить использование одного домена — используйте только флаг [NC].


  • 1

#3 Sosnovskij

Sosnovskij
    Topic Starter
  • Администратор
  • 3 843 сообщений
  • Репутация: 554

Отправлено 24 Декабрь 2013 - 16:25

Мой .htaccess выглядит так

AddDefaultCharset UTF-8
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/sosnovskij [R=302,NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN WPSuperCache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
AddDefaultCharset UTF-8
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]
</IfModule>
# END WPSuperCache

Добавил вниз код для вывода 403 ошибки для посетителей с нежелательных сайтов. В итоге .htaccess выглядел так

AddDefaultCharset UTF-8
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/sosnovskij [R=302,NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN WPSuperCache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
AddDefaultCharset UTF-8
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html.gz [L]
RewriteCond %{REQUEST_URI} !^.*[^/]$
RewriteCond %{REQUEST_URI} !^.*//.*$
RewriteCond %{REQUEST_METHOD} !POST
RewriteCond %{QUERY_STRING} !.*=.*
RewriteCond %{HTTP:Cookie} !^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$
RewriteCond %{DOCUMENT_ROOT}/wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html -f
RewriteRule ^(.*) /wp-content/cache/supercache/%{HTTP_HOST}/$1/index.html [L]
</IfModule>
# END WPSuperCache

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} mtoys.ua [NC,OR]
RewriteCond %{HTTP_REFERER} xn----8sbpjfkkfg2abiej2e5c.xn--p1ai/ [NC,OR]
RewriteRule .* - [F]
</ifModule>

Все страницы сайта стали отдавать 403 ошибку. Где ошибся?
  • 0

Не стесняйтесь ставить оценки темам :) Правила форума. Мой блог http://sosnovskij.ru/.



#4 Ixman

Ixman
  • Пользователь PRO
  • 1 994 сообщений
  • Репутация: 379

Отправлено 24 Декабрь 2013 - 16:32

Точно ответить не могу в чём проблема, но я бы попробовал код так поправить

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} mtoys.ua [NC,OR]
RewriteCond %{HTTP_REFERER} xn----8sbpjfkkfg2abiej2e5c.xn--p1ai/ [NC]
RewriteRule .* - [F]
</ifModule>


То есть убрать с последнего домена OR, по логики его там не должно быть

И вообще это всё упростить надо до вида

RewriteCond %{HTTP_REFERER} mtoys.ua [NC,OR]
RewriteCond %{HTTP_REFERER} xn----8sbpjfkkfg2abiej2e5c.xn--p1ai/ [NC]
RewriteRule .* - [F]


Так mod rewrite уже включен, то его включать второй раз не нужно
  • 0

#5 Sosnovskij

Sosnovskij
    Topic Starter
  • Администратор
  • 3 843 сообщений
  • Репутация: 554

Отправлено 24 Декабрь 2013 - 17:13

Сейчас заработало. Только это видимо работает по переходам по ссылкам. Если, находясь на сайте mtoys.ua в адресной строке набрать http://sosnovskij.ru/, то идет переход. Если перейти по ссылке, то отдается 403 ошибка.
  • 0

Не стесняйтесь ставить оценки темам :) Правила форума. Мой блог http://sosnovskij.ru/.



#6 Ixman

Ixman
  • Пользователь PRO
  • 1 994 сообщений
  • Репутация: 379

Отправлено 24 Декабрь 2013 - 17:22

Ну тут всё ещё зависит от браузера, если referer передан, то правило сработает, если нет, то определить не возможно. А есть ещё что-нибудь, за что можно зацепиться по этим переходам? Диапазоны IP возможно, или ещё что-то?

Ещё как вариант могу сказать, что это боты, например написанные на php или ему подобных языках, где можно указать произвольный referer. Например это легко реализовать на CURL. И им не надо даже посещать указанный сайт, они просто передают его адрес при парсинге страницы

Сейчас нужно понаблюдать упадёт трафик или нет
  • 0

#7 Sosnovskij

Sosnovskij
    Topic Starter
  • Администратор
  • 3 843 сообщений
  • Репутация: 554

Отправлено 24 Декабрь 2013 - 18:30

Оставлю пока так. О результатах отпишусь :)
  • 0

Не стесняйтесь ставить оценки темам :) Правила форума. Мой блог http://sosnovskij.ru/.



#8 Ixman

Ixman
  • Пользователь PRO
  • 1 994 сообщений
  • Репутация: 379

Отправлено 24 Декабрь 2013 - 20:07

Кстати перешёл по адресу mtoys.ua и вспомнил, я у себя на одном из сайтов в статистике LI видел этот урлик, я ещё тогда удивился каким образом с него переходы. Там ещё была парочка доменов, я в той теме говорил про похожий трафик, сейчас я уже точно понимаю, что это боты передают такой реферер. Смотрел сейчас статистику, этих доменов уже нет
  • 0

#9 Sosnovskij

Sosnovskij
    Topic Starter
  • Администратор
  • 3 843 сообщений
  • Репутация: 554

Отправлено 26 Декабрь 2013 - 11:24

К сожалению, трафик не прекратился :(

3Ehyom.png
  • 0

Не стесняйтесь ставить оценки темам :) Правила форума. Мой блог http://sosnovskij.ru/.



#10 Ixman

Ixman
  • Пользователь PRO
  • 1 994 сообщений
  • Репутация: 379

Отправлено 26 Декабрь 2013 - 16:50

Печально, значит тут надо что-то другое использовать. Блокировать IP например
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru