Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Определение количества плагинов (https://javascript.ru/forum/misc/3181-opredelenie-kolichestva-plaginov.html)

Александр 2009 25.03.2009 13:38

Определение количества плагинов
 
Здравствуйте!
Возможно мой вопрос покажется вам странным, но очень нужен подобный код.
В последнее время поисковые боты стали распозновать JS, чего бы очень не
хотелось.
Я придумал, метод шифрования с ключом. Вот ключ-цифру мне и нужно создать т.о.,
чтобы бот не смог распознать ключ, а браузер да. Ключ-переменная должна быть все время
одинаковой, например 1 для браузера и 0 или -1 для бота.
Мне пришло в голову только один вариант, это определение количества
установленных плагинов в браузере, т.к. я подозреваю, что у поисковых ботов
таких плагинов не будет.
Тогда у браузеров количество плагинов всегда будет >0, а у бота=0
С Firefox все просто navigator.plugins.lenght, а вот с IE и оперой проблема.
Посоветуйте решение проблемы.
Спасибо
Возможно вы что-то еще посоветуете!

Gvozd 25.03.2009 15:38

Цитата:

Сообщение от Александр 2009
В последнее время поисковые боты стали распозновать JS, чего бы очень не
хотелось.

откуда такая информация? что-то слабо верится чтобы это было правдой.
а вообще, лучше вам решать задачу серверными силами, ибо ЕСЛИ поисковые боты выполняют JS, то они могут и эмулировать любое окружение.
зато заголовок User-Agent они посылают исправно и правдиво.
вот и фильтруйте на сервере что посылать людям, а что ботам.правда этот трюк есть незаконным для поисковиков.
И в конце-концов, зачем вам понадобилось блокировать JS от поисковиков?

Александр 2009 25.03.2009 19:05

Боты уже года два, как научились испольнять js, с каждым месяцем они испольняют js все качественнее. Для этого у каждой поисковой системы есть спец боты, которые эмулируют почти все, Юзер Агент чаще всего берут от IE, подставляют вымышленный реферер, и определить такого бота можно только по частоте захода на сайт и по хуизу. такие спец боты плюют на robots.txt и на nofollow.
С помощью JS я ставлю рекламу! А например гугл бот автоматически понижает рейтинг сайта из-за рекламы, если только это не реклама гугладс.

Поэтому например если с помощью Js определить стоит ли на браузере флеш, и получить true, т.е. =1, то у спец бота, который испольняет js вряд ли стоит флеш и у него будет false.
Как я уже писал для firefox проблем нет(navigator.plugins), но для Ie я столкнулся с проблемой определить установлен ли флеш для IE.
Помимо флеша можно определять квиктайм и т.д.
Поэтому лучшим способом было бы определить количество плагинов в браузере.

Gvozd 25.03.2009 19:20

а откуда такая у вас информация?
требую пруфлинка.
я конечно не спец в индексаторах, но насколько я знаю, все честные индексаторы(гугл,яша,и еще кууча поисковиков) имеют собственные юзер-агенты для ботов, а не подделываются под какой-то браузер.
ИМХО с юзер-агентом осла к вам могут ходить только честные пользователи, либо нечестные боты(парсеры конкурентов, которые стремятся украсть контент).
но даже, если к вам все-таки ходят поисковики, и все-таки выполняют ваш JS(ИМХО они его только анализировать смогут, а не выполнить), то либо у них собственный движок интепретатора, который вам правды все равно не расскажет, либо стоит под виртуалкой какой-нибудь браузер(делаю ставку что мозилла) модифицированный. в таком случае вы его тоже навряд ли отличите от обычного пользователя.
Вывод:наиболе адекватная мера борьбы с такими поисковиками-сбор ихних IP, и выдача другого контента.
IMHO: считаю что проблема выполнения скриптов(а также подмена ими User-Agent) ботами основных поисковиков надумана и высосана из пальца. и буду так считать, до тех пор пока не увижу пруфлинк на упоминание этого феномена. если они это делают уже два года, то должно было появится куча статей на эту тему. я ни одной не нашел

Алесандр 2009 25.03.2009 19:37

К сожалению я не такой спец по JS, иначе бы не задавал вопрос, и я могу не знать, какие могут быть сложности у спец ботов, чтобы эмулировать полностью браузер. на чем они могут заткнуться. Вряд ли они умеют испольнять Ajax, но проблема в том, что Ajax не умеют испольнять старые браузеры.
А мне жалко терять пользователей.
Поэтому желательно, чтобы код работал в IE>=6.0, Firefox>=1, Opera >=7

Gvozd 25.03.2009 19:43

вот еще.
если вам понижают рейтинг за рекламу, то это совсем не значит, что для этого надо выполнять JS
для этого достаточно прочесть ссылки скриптов, и проверить по базе какая из них ведет на рекламную сеть.
еще можно проверить на вхождение всяких "универсальных" кусков кода всплывающей и нетонущей рекламы
в случае же рекламы необнаруживаемой этими двумя способами, способов ее найти автоматически, даже выполняя JS нету. как вы опеределите, что эта приатаченная картинка есть еркламный банер, а не например заголовок сайта, меняющийся от времени суток.ИМХО, никак.

для обхода таких бнероопределяющих конструкций, посоветовал бы шифровать ссылки на банерообменки(динамически атач тегов script,ссылка с перенаправлением), и шивровать скрипты, отвечающие за рекламу(например packer-ом).после этого сравнтиельный анализ не должен выявлять у вас рекламу.

Александр 2009 25.03.2009 19:46

Итак первые два спец бота это 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"
66.235.124.132 - - [25/Mar/2009:06:37:21 -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"
131.107.0.112 - - [25/Mar/2009:07:00:53 -0500] "GET /hrg.php?pzapros=brf HTTP/1.1" 200 31 "http://URL" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322)"
74.125.75.20 - - [25/Mar/2009:09:54:50 -0500] "GET /hrg.php?pzapros=brfhttp://www.google.com/searchque;hl=enamp;q=bmyybd+cacxve+++fi+ HTTP/1.1" 200 31 "URL" "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.7) Gecko/20060909 Firefox/1.5.0.7"


Александр 2009 25.03.2009 19:48

Да втом-то и проблема, если брайзер сможет расшифровать рекламу, то и спец боты это смогут(
Так, что мне бы использовать такую бы функцию в JS, которую бы точно не смогли прочесть боты

Gvozd 25.03.2009 19:52

Цитата:

Сообщение от Алесандр 2009
и я могу не знать, какие могут быть сложности у спец ботов, чтобы эмулировать полностью браузер. на чем они могут заткнуться.

вы не поверите.я тоже не знаю.потому что впервые слышу такую ахинею, что они выполняют JS

Цитата:

Сообщение от Алесандр 2009
Ajax не умеют испольнять старые браузеры.
А мне жалко терять пользователей.

делайте проверку на наличие Ajax-а, и в случае его невозможности считаете пользователя ботом.
лучше не показать рекламу живому пользователю, чем показать ее боту, в вашей ситуации

Gvozd 25.03.2009 19:56

Хорошо.
похоже что это все-ткаи боты поисковиков.
по крайней мере whois-ы это подтверждают.
с чего вы решили что они выполняют JS?


Часовой пояс GMT +3, время: 18:09.