Очередной «тюнинг» плагина Bad Behavior

Столкнулся с проблемой что часть посетителей с Украины и даже некоторые поисковые роботы Яндекса не могли попасть на сайт, получая в лоб ошибку 403 и просьбу проверить языковые настройки браузера.

Причина закралась вот в этом фрагменте кода плагина:

// "uk" is not a language (ISO 639) nor a country (ISO 3166)
  if (preg_match('/\buk\b/', $package['headers_mixed']['Accept-Language'])) {
	return "35ea7ffa";
 }

в файле common_tests.inc.php (в поддиректории плагина)

После того как я закомментировал этот блок, то проблема у одного пользователя автоматически решилась.

Вот его заголовок (из логов плагина)

212.109.37.194

2008-07-24 16:34:44

Invalid language specified GET /2008/05/05/2123/ HTTP/1.0
Host: lecactus.ru
X-Real-IP: 212.109.37.194
X-Forwarded-For: 212.109.37.194, 212.109.37.194
Connection: close
Accept: */*
Referer: http://planet.mywordpress.ru/page/5/
Accept-Language: uk
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; WebMoney Advisor; .NET CLR 2.0.50727)
Cookie: __utma=143494056.2667676131300542000.1211553430.1213773091.1213777486.5; __utmz=143494056.1213775510.4.6.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=simple%20forum%20%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C%20; subscribe_checkbox_ca070efb8417fe311b266f668db0763e=checked; comment_author_ca070efb8417fe311b266f668db0763e=%D0%B2%D0%B0%D0%BB%D0%B5%D1%80%D0%B8%D0%B9; comment_author_email_ca070efb8417fe311b266f668db0763e=set_ca%40ukr.net; comment_author_url_ca070efb8417fe311b266f668db0763e=http%3A%2F%2Fwww.kremenets.in.ua%2F
212.109.37.194

боты Яндекса тоже использовали его и тоже обламывались:

Accept-Language: ru, uk;q=0.8, be;q=0.8, en;q=0.7, *;q=0.01
Accept-Encoding: gzip,deflate
If-Modified-Since: Tue, 08 Jul 2008 19:50:01 GMT
User-Agent: Yandex/1.01.001 (compatible; Win16; I)
From: webadmin@yandex.ru

Почему то плагин (т.е. его автор) считает что такого кода uk не существует в списке стран и/или языков.
Так что если кто испытывал (среди RSS подписчиков) последнее время проблемы с доступом, просьба проверить. Также если у вас выскакивают другие сообщения о невозможности доступа, не стесняйтесь писать на мейл с описанием проблемы, тем более ошибки выдаются вам на русском языке и там указан мейл для контактов. Другим пользователям этого плагина также пригодится знать. В целом же плагин себя оправдывает, т.к. блокирует почти весь автоматический спам без вмешательства. В среднем бывает 1-2 сообщения в неделю ручного спама.

Связанные записи

3 комментария на запись “Очередной «тюнинг» плагина Bad Behavior”

  1. Олег Бурлака 31 июля 2008 в 3:42

    Я тоже столкнулся с этой проблемой. Пообщался с разработчиком (Michael Hampton) и убедил его в существовании кода uk в ISO 639 :)
    Майкл пообещал в следующем релизе все исправить.

  2. darkside 3 августа 2008 в 14:26

    Так ведь UK — это United Kingdom, и языка отдельного для него не делают. Есть же EN. А Украина это UA.

  3. Lecactus 3 августа 2008 в 15:37

    @ darkside: не путайте буквенное обозначение страны и код языка в браузере