Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Вывод разного контента в зависимости от того кто просматривает страницу
Форумы портала PHP.SU » PHP » Программирование на PHP » Вывод разного контента в зависимости от того кто просматривает страницу

Страниц (1): [1]
 

1. toturvator - 03 Мая, 2008 - 12:36:50 - перейти к сообщению
Может не совсем в тему php и все же ...

Можно ли объективно узнать, кто просматривает страницу? И в зависимости от этого генерировать иной контент.

На примере:

Обмен ссылками. Чем больше внешних ссылок на вашем сайте тем фактически хуже ваш ранг.
Как сделать так, что если сайт "смотрит" робот (поисковика или т.п.), а не человек подставить ссылку на свой же сайт?

Варианты с тегами <noindex> не предлагать. Улыбка

P.S. Хотя это похоже на палку о двух концах, но интересна сейчас техническая реализация. Возможен взгляд на результат (сокрытие внешних ссылок от поисковиков) в иной интерпритации вопроса.

Вроде работает вариант с внедрением JS. Возможно фреймы. Но это ведь не php. Недовольство, огорчение Java может быть у клиента отключенным. Фреймы под вопросом.
2. vector - 03 Мая, 2008 - 13:30:40 - перейти к сообщению
!!
3. san4es - 04 Мая, 2008 - 07:24:00 - перейти к сообщению
как я понял ты хочешь спрятаться от роботов. что бы роботы не смотрели сайт нада добавить файлик robots.txt в котором прописать какие страницы разрешено индексировать а какие нет. http://robotstxt[dot]org[dot]ru/
4. toturvator - 04 Мая, 2008 - 09:15:55 - перейти к сообщению
Не совсем то. Запрет на индексирование части страницы. Если точнее любых внешних ссылок.
По возможности мне нужно точно инициировать кто смотрит страницу, человек или программа.
5. san4es - 05 Мая, 2008 - 10:08:21 - перейти к сообщению
ну тогда, если не ошибаюсь, нада смотреть $_SERVER['HTTP_USER_AGENT']. из неё можно достать тип операционной системы и браузер или имя робота. ну и соотвественно, как мне кажется, определим человек или машина смотрит страницу. например по типу ОС. наиболее распространённые windows, unix, mac. делаем так
$useragent = $_SERVER['HTTP_USER_AGENT'];

if (strpos($useragent, "Win" ) !== false) //если ос виндовс то выполняем цикл
{
//тело цикла
}

для линукса вместо "Win" пишем "Linux", "Lynx" или "Unix" (соответсвенно все три условия надо учесть одновременно)
для мака "Macintosh"
Если искать браузер то (опять же самые распространённые IE, Opera, Netscape, Mozilla)

if (strpos($useragent, "MSIE" ) !== false) //если Internet Explorer то выполняем цикл
{
//тело цикла
}
ну и аналогичнро для других "Opera", "Netscape", "Mozilla"

находим наиболее известных роботов

if (substr($useragent, 0, 9) != "Googlebot" )
{
//тело цикла
}

аналогично для других роботов -
substr($useragent, 0, 12) != "StackRambler"
substr($useragent, 0, 6) != "Yandex"
substr($useragent, 0, 5) != "Aport"

Вопщем у меня такие мысли появились.
6. SION-ZENIT - 05 Мая, 2008 - 10:19:08 - перейти к сообщению
san4es пишет:
if (substr($useragent, 0, 9) != "Googlebot" )
{
//тело цикла
}

тело условия )))
7. toturvator - 05 Мая, 2008 - 10:33:19 - перейти к сообщению
Все замечательно, только не универсально. Улыбка
На сколько я понимаю useragent можно подменить.

Видел на каком то сайте такой преобразователь типа ссылки с визуальным представлением: "Если ты не поисковый робот нажми здесь". Ну и по сути становится доступным дополнительный контент. В данном случае выполняется конкретное действие в виде клика по ссылке. Как альтернатива использование "капчи". Но это все сложно и пользователь просто уйдет с сайта и опять JS?

Т.е. нужно ловить "стандартное поведение" серфера. Например отслеживать нажатие клавишы, скролинг, или перемещение мыши. Это я брежу. Даже если идти по этому пути, то скорее всего JS или что то подобное. Но не подоходит - JS может быть отключен. Улыбка

 

Powered by ExBB FM 1.0 RC1