Определение количества плагинов
Здравствуйте!
Возможно мой вопрос покажется вам странным, но очень нужен подобный код. В последнее время поисковые боты стали распозновать JS, чего бы очень не хотелось. Я придумал, метод шифрования с ключом. Вот ключ-цифру мне и нужно создать т.о., чтобы бот не смог распознать ключ, а браузер да. Ключ-переменная должна быть все время одинаковой, например 1 для браузера и 0 или -1 для бота. Мне пришло в голову только один вариант, это определение количества установленных плагинов в браузере, т.к. я подозреваю, что у поисковых ботов таких плагинов не будет. Тогда у браузеров количество плагинов всегда будет >0, а у бота=0 С Firefox все просто navigator.plugins.lenght, а вот с IE и оперой проблема. Посоветуйте решение проблемы. Спасибо Возможно вы что-то еще посоветуете! |
Цитата:
а вообще, лучше вам решать задачу серверными силами, ибо ЕСЛИ поисковые боты выполняют JS, то они могут и эмулировать любое окружение. зато заголовок User-Agent они посылают исправно и правдиво. вот и фильтруйте на сервере что посылать людям, а что ботам.правда этот трюк есть незаконным для поисковиков. И в конце-концов, зачем вам понадобилось блокировать JS от поисковиков? |
Боты уже года два, как научились испольнять js, с каждым месяцем они испольняют js все качественнее. Для этого у каждой поисковой системы есть спец боты, которые эмулируют почти все, Юзер Агент чаще всего берут от IE, подставляют вымышленный реферер, и определить такого бота можно только по частоте захода на сайт и по хуизу. такие спец боты плюют на robots.txt и на nofollow.
С помощью JS я ставлю рекламу! А например гугл бот автоматически понижает рейтинг сайта из-за рекламы, если только это не реклама гугладс. Поэтому например если с помощью Js определить стоит ли на браузере флеш, и получить true, т.е. =1, то у спец бота, который испольняет js вряд ли стоит флеш и у него будет false. Как я уже писал для firefox проблем нет(navigator.plugins), но для Ie я столкнулся с проблемой определить установлен ли флеш для IE. Помимо флеша можно определять квиктайм и т.д. Поэтому лучшим способом было бы определить количество плагинов в браузере. |
а откуда такая у вас информация?
требую пруфлинка. я конечно не спец в индексаторах, но насколько я знаю, все честные индексаторы(гугл,яша,и еще кууча поисковиков) имеют собственные юзер-агенты для ботов, а не подделываются под какой-то браузер. ИМХО с юзер-агентом осла к вам могут ходить только честные пользователи, либо нечестные боты(парсеры конкурентов, которые стремятся украсть контент). но даже, если к вам все-таки ходят поисковики, и все-таки выполняют ваш JS(ИМХО они его только анализировать смогут, а не выполнить), то либо у них собственный движок интепретатора, который вам правды все равно не расскажет, либо стоит под виртуалкой какой-нибудь браузер(делаю ставку что мозилла) модифицированный. в таком случае вы его тоже навряд ли отличите от обычного пользователя. Вывод:наиболе адекватная мера борьбы с такими поисковиками-сбор ихних IP, и выдача другого контента. IMHO: считаю что проблема выполнения скриптов(а также подмена ими User-Agent) ботами основных поисковиков надумана и высосана из пальца. и буду так считать, до тех пор пока не увижу пруфлинк на упоминание этого феномена. если они это делают уже два года, то должно было появится куча статей на эту тему. я ни одной не нашел |
К сожалению я не такой спец по JS, иначе бы не задавал вопрос, и я могу не знать, какие могут быть сложности у спец ботов, чтобы эмулировать полностью браузер. на чем они могут заткнуться. Вряд ли они умеют испольнять Ajax, но проблема в том, что Ajax не умеют испольнять старые браузеры.
А мне жалко терять пользователей. Поэтому желательно, чтобы код работал в IE>=6.0, Firefox>=1, Opera >=7 |
вот еще.
если вам понижают рейтинг за рекламу, то это совсем не значит, что для этого надо выполнять JS для этого достаточно прочесть ссылки скриптов, и проверить по базе какая из них ведет на рекламную сеть. еще можно проверить на вхождение всяких "универсальных" кусков кода всплывающей и нетонущей рекламы в случае же рекламы необнаруживаемой этими двумя способами, способов ее найти автоматически, даже выполняя JS нету. как вы опеределите, что эта приатаченная картинка есть еркламный банер, а не например заголовок сайта, меняющийся от времени суток.ИМХО, никак. для обхода таких бнероопределяющих конструкций, посоветовал бы шифровать ссылки на банерообменки(динамически� � атач тегов script,ссылка с перенаправлением), и шивровать скрипты, отвечающие за рекламу(например packer-ом).после этого сравнтиельный анализ не должен выявлять у вас рекламу. |
Итак первые два спец бота это ask, притом с разным ЮзерАгентом, третий это msn, последний гуглбот.
Запросов столько приходит от этих спец ботов, что это просто не могут быть реальные люди! Код:
66.235.124.132 - - [25/Mar/2009:05:22:55 -0500] "GET /drg.php?pzapros=brf HTTP/1.1" 200 31 "http://URL" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9a1) Gecko/20070308 Minefield/3.0a1" |
Да втом-то и проблема, если брайзер сможет расшифровать рекламу, то и спец боты это смогут(
Так, что мне бы использовать такую бы функцию в JS, которую бы точно не смогли прочесть боты |
Цитата:
Цитата:
лучше не показать рекламу живому пользователю, чем показать ее боту, в вашей ситуации |
Хорошо.
похоже что это все-ткаи боты поисковиков. по крайней мере whois-ы это подтверждают. с чего вы решили что они выполняют JS? |
Часовой пояс GMT +3, время: 15:42. |