Определение ссылки
176 сообщений
#15 лет назад
Каким образом на сайте domen.org можно определить сайт с которого перешли на текущий сайт?
626 сообщений
#15 лет назад
В общем случае - никак.Определение через поле заголовка REFERER - этот заголовок отдаётся браузером, соответственно, его можно отключить в настройках. Если же к вам приходят скриптом - то тут этому полю вообще никакого доверия.
Определение через Google и прочие счетчики/аналитики - сработает только если тот же самый код был установлен на странице, откуда пришел пользователь. В противном случае "система" не будет ничего знать о предыдущих "шагах" посетителя. Ну и само-собой не забываем про роботов/скрипты. Они чхать хотели на куки и прочую идентификацию, тольео если их автор специально об этом не побеспокоился.
5330 сообщений
#15 лет назад
Цитата ("Demiurh"):Ну и само-собой не забываем про роботов/скрипты. Они чхать хотели на куки и прочую идентификацию,
согласитесь, что и мы чхали на роботов и пауков.. мы же пользователей считаем

626 сообщений
#15 лет назад
И как вы отличите пользователя от робота?Впрочем ладно - это я уже загоняюсь.
Первый метод (REFERER) дает вполне сносную погрешность. Главное помнить что это поле приходит от пользователя, и он может туда вписать всё что угодно, включая sql-инъекцию или XSS, поэтому всё надо проверять и использовать аккуратно.
176 сообщений
#15 лет назад
Цитата ("zhmenia"):Для php это $_SERVER.
Или вы не это имели ввиду?
да-да, именно это =)
как говориться все сложное - элементарно ))
Большое СПАСИБО!
176 сообщений
#15 лет назад
Цитата ("Demiurh"):И как вы отличите пользователя от робота?
Впрочем ладно - это я уже загоняюсь.
Первый метод (REFERER) дает вполне сносную погрешность. Главное помнить что это поле приходит от пользователя, и он может туда вписать всё что угодно, включая sql-инъекцию или XSS, поэтому всё надо проверять и использовать аккуратно.
Спасибо за совет!
2989 сообщений
#15 лет назад
Цитата ("Demiurh"):И как вы отличите пользователя от робота?
Впрочем ладно - это я уже загоняюсь.
вот функция, которая дает неплохие результаты
function is_bot() {
$res = false;
$browser = @get_browser(null, true);
if (!$_SERVER or empty($_SERVER) or trim($_SERVER) == '' or !empty($browser)) {
$res = true;
}
if (!$res) {
//bot_list.txt - файл списка HTTP_USER_AGENT роботов, которые по-другому не определяются
//может содержать только часть значения
//1 строка - 1 агент
$fn = $_SERVER.'/bot_list.txt';
if (file_exists($fn)) {
$bot_names = @file($fn);
foreach ($bot_names as $v) {
$v = trim($v);
if (stristr($_SERVER, $v) !== false) {
$res = true;
break;
}
}
}
}
return $res;
}
133 сообщения
1172 сообщения
#15 лет назад
Цитата ("chromotron"):http://lmgtfy.com/?q=crawler+user+agent
О, теперь знаю что кидать народу вместо старого доброго RTFM :-)
11416 сообщений
#15 лет назад
Да да... клевый сервис 
2989 сообщений
#15 лет назад
Цитата ("AlekartRu"):Если б ещё bot_list.txt был, цены бы не было )))
список ботов зарегистрированных и незарегистрированных можно в любом поисковике найти за 5 минут.
p.s. вообще лучше составлять список ботов для каждого конкретного сайта свой. всего ботов (в том числе для спама, регистраций и т.п.) уже несколько тысяч, а посещать вас будут десяток-другой. тем более что списки посещающих ботов зависят от зоны, используемой cms, тематики и языка сайта и т.п.