может я далек оо истины и живу в каменном веке? но какой нормальный вебмастер будет делать клоакинг на белом сайте?
Ну, после того, как гугл стал обнулять pagerank за продажу ссылок, у многих появилось желание это обойти. Первым в голову пришел клоакинг, тестировалось на особо не нужном ресурсе. Тесты принесли негативный результат. А клоакинг действительно используется и не для злых умыслов, для геотаргетинга в том числе
Ну, после того, как гугл стал обнулять pagerank за продажу ссылок
эээ.. речь была о БЕЛЫХ САЙТАХ к которым сайты продающие ссылки отнести нельзя по той причине что влияние на выдачу с помощью внешних ссылок полученных не естественным путем (т.е. с помощью разнообразных программ или бирж) любой поисковик считает за поисковый спам))
Всем доброго времени суток. Я в РНР совсем новичек, но мне кажется что эти скрипты немного сыроваты. Т.е. я бы сказал они совсем сырые. И использовать их вданном варианте нельзя. Точнее можно конечно, но ни к чему хорошему - это не приведет.
1-й скрипт, проверяющий по юзвер агенту, видимо из-за ('#Mozilla\/5\.0#i') тут же пропускает пользователей Firefox и Safary, старого Netscape, Mozilla и еще хрен знает сколько пользователей, т.е. отдает им вместо редиректа контент дора, что понятное дело ведет к потере данных юзверей. Так что думаю потеря такого кол-ва трафика, гараздо хуже чем поздняя вставка редиректа.
2-й скрипт (как я понимаю из этого топика ) тоже сырой. Я уж не знаю на сколько верны там маски подсетей, но в том варианте что написано - скрипт подставляет все адреса вне зависимости от совпадений. Т.е. foreach там ну совсем не к месту. Для не посвещенных поясню. Цикл будет выполняться вне зависимости от того совпал IP адрес или нет. И соответственно будет выводится или контент или редирект столько раз сколько будет выполнятся проверка. С редиректом еще понятно. Он выполнится и скрипт прекратит свою работу, точнее его работы юзер уже не увидит, потому как редиректнется на шоп или куда там вы его редиректните. А вот зато поисковый бот, получит контент столько раз, сколько будет выполняться проверка. Представляете как бот получит страницу, в которой 26 абсолютно идентичных контентных сегментов? :) В принципе и это не слишком страшно, но все равно не приятно...
Говорю спасибо как местному ТС так и Енотику, за то что дали пищу для размышлений, но считаю что ни один из приведенных скриптов нельзя использовать в том виде что есть. Их надо соединять и дорабатывать.
Я уж не знаю на сколько верны там маски подсетей, но в том варианте что написано - скрипт подставляет все адреса вне зависимости от совпадений. Т.е. foreach там ну совсем не к месту. Для не посвещенных поясню. Цикл будет выполняться вне зависимости от того совпал IP адрес или нет. И соответственно будет выводится или контент или редирект столько раз сколько будет выполнятся проверка.
Чего? Откуда там будет " будет выводится или контент или редирект столько раз сколько будет выполнятся проверка". Мы детектим бота с помощью этой проверки. И, если нашли, дальше уже думаем, что с ним делать.
Насчет юзерагентов сегодня еще раз скрипт перепроверю.
Чего? Откуда там будет " будет выводится или контент или редирект столько раз сколько будет выполнятся проверка". Мы детектим бота с помощью этой проверки. И, если нашли, дальше уже думаем, что с ним делать.
Ну согласись что в данном варианте это вообще на скрипт клоакинга не тянет. 1. нету остановки цикла после найденого совпадения. Т.е. скрипт будет выполняться пока не закончатся строки для проверки. А их тут 26. 2. нету else, действия когда совпадения не найдены. Куда ты его вставишь? Я вставил сходу в тело цикла. Попробуй этот скрипт на локальном хосте. и сам убедись. human detected будет выведено 26 раз. соответственно и поисковый бот получит bot detected (а это и есть контент дора) 26 раз.
Ха!... пока писал посмотрел на код и походу там вообще не так все будет. Прикинь, приходит бот с IP из подсети второй строки массива: foreach начинает проверку: и получив несовпадение с 1-ой строкой, выдает редирект. :) результат - бот поехал к нам на шоп или ТДС (в общем как настоящий серфер)
Вариант второй: приходит бот из подсети первой строки массива: foreach получив совпадение тут же отдает:
PHP код:
echo 'контент для дора' ;
но цикл-то не завершен и вторая строка выдает соответственно несовпадение и бот поехал к нам на шоп :) В общем при любом раскладе бот получает редирект. Потому и говорю - скрипт сырой и юзать его в данном написании неэффективно.
Сообщение от 24110
Насчет юзерагентов сегодня еще раз скрипт перепроверю.
А чего там проверять. Я вчера когда напоролся на этот топик, тут же скопировал скрипт и попробовал на локалке в 4-х браузерах. Вот что отбразилось в них: Firefox 3.5.3 держи барашку... Opera 9.64 redirect... Safary 4.03 держи барашку... IE 6 redirect... Задумавшись, я рванул спросить у гугля, как так получается? На что он мне выдал вот этот сайт, который я и занес на всякий в букмарки: http://www.useragentstring.com/pages...gentstring.php Думаю он пригодится для написания скрипта по юзерагентам :)
Ну согласись что в данном варианте это вообще на скрипт клоакинга не тянет. 1. нету остановки цикла после найденого совпадения. Т.е. скрипт будет выполняться пока не закончатся строки для проверки. А их тут 26. 2. нету else, действия когда совпадения не найдены. Куда ты его вставишь? Я вставил сходу в тело цикла. Попробуй этот скрипт на локальном хосте. и сам убедись. human detected будет выведено 26 раз. соответственно и поисковый бот получит bot detected (а это и есть контент дора) 26 раз.
Ха!... пока писал посмотрел на код и походу там вообще не так все будет. Прикинь, приходит бот с IP из подсети второй строки массива: foreach начинает проверку: и получив несовпадение с 1-ой строкой, выдает редирект. :) результат - бот поехал к нам на шоп или ТДС (в общем как настоящий серфер)
Вариант второй: приходит бот из подсети первой строки массива: foreach получив совпадение тут же отдает:
PHP код:
echo 'контент для дора' ;
но цикл-то не завершен и вторая строка выдает соответственно несовпадение и бот поехал к нам на шоп :) В общем при любом раскладе бот получает редирект. Потому и говорю - скрипт сырой и юзать его в данном написании неэффективно.
А чего там проверять. Я вчера когда напоролся на этот топик, тут же скопировал скрипт и попробовал на локалке в 4-х браузерах. Вот что отбразилось в них: Firefox 3.5.3 держи барашку... Opera 9.64 redirect... Safary 4.03 держи барашку... IE 6 redirect... Задумавшись, я рванул спросить у гугля, как так получается? На что он мне выдал вот этот сайт, который я и занес на всякий в букмарки: http://www.useragentstring.com/pages...gentstring.php Думаю он пригодится для написания скрипта по юзерагентам :)
Объясняю популярно: ВСЕ эти методы применяются ВМЕСТЕ. Сначала проверяем referer, чтобы отсеять тех, кто пришел не с поиска. Затем отсеиваем по gethostbyaddr($ip) гуглоботов. Потом смотрим, что в поисковой строке есть действительно наш поисковый запрос (снова referer). Дальше смотрим юзерагенты (тут уже у каждого свой набор юзерагентов).
Прикинь, приходит бот с IP из подсети второй строки массива: foreach начинает проверку: и получив несовпадение с 1-ой строкой, выдает редирект. :)
Какой, нафиг редирект? Мы еще никакие редиректы не раздаем, а просто выясняем, есть ли бот. Если IP бота - второй элемент нашего массива, то в переменную $is_bot запишется TRUE на этом шаге. И бот никуда не поехал на этом шаге.
Вариант второй: приходит бот из подсети первой строки массива: foreach получив совпадение тут же отдает:
PHP код:
echo 'контент для дора' ;
но цикл-то не завершен и вторая строка выдает соответственно несовпадение и бот поехал к нам на шоп :) В общем при любом раскладе бот получает редирект. Потому и говорю - скрипт сырой и юзать его в данном написании неэффективно.
И тут снова. Вас учили разделять представления и логику? Так вот - сначала отрабатывает ЛОГИКА. Вносим в переменную $is_bot TRUE или FALSE. Когда логика отработает, ПРЕДСТАВЛЕНИЕ уже будет смотреть, чему равна эта переменная $is_bot и уже решать, показывать дор или редиректить на шоп.
Ну спешу сразу же извиниться. Не хотел обидеть, оскорбить или задеть тебя. :) Что-то тон у тебя назидательный а смайликов не видно. Видимо ты серьезно решил меня отчитать :)
Далее, обрати внимание, что я один из немногих сказавших тебе спасибо за этот топик. Потому как считаю его полезным. Следовательно не имею целью дискредитировать тебя в глазах общественности.
Ну а теперь по существу: Согласись, что в том написании, как это написано тобой в первом посте твоего топика - это все не работает. Точнее не выполняет главной задачи. Отделение мух от котлет. Где там переменная $is_bot? Я вот ее там не увидел. Где последовательность выполнения скриптов? Я увидел три фрагмента кода (4-й фрагмент с реферером вообще в другой теме почему-то) И для того что бы их соединить, я уже должен не плохо разбираться в РНР. Я лично имею около нулевые познания в этой области. И меня не учили, я сам учился и причем не очень успешно, т.к. многие вещи просто понять не могу без дополнительного объяснения, а объяснять некому.
Вас учили разделять представления и логику?
И потому отвечаю: - нет. меня вообще не учили. и потому я не понял о чем ты.
В связи с этим у меня вопрос: - "для кого писался топик?" Для людей разбирающихся в РНР и клоакинге? Так они напишут себе такой скрипт и сами, без подобной помощи. Для новичков (т.е. и для меня)? Так я не все понял и мне хотелось бы объяснений, т.к. у меня не работают эти фрагменты кода так как заявлено в начале топика. Первый пропускает пользователей браузеров Firefox Mozilla Netscape Safari и это еще не все браузеры я назвал только самые известные. Второй вообще устраивает какую-то смешную проверку с выводом на экран (так я понимаю команду echo) bot detected, каждый раз кода встречает совпадение, что он делает когда совпадение не найдено - это науке вообще пока не известно. :)
Потому я и сказал в первом своем посте и повторю еще раз: Спасибо! Очень познавательно, и дает пищу для размышлений. НО... в том написании как это есть сейчас - это всё не работает, или работает неэффективно.