Александр Загородний
176 повідомлень
#15 років тому
Каким образом на сайте domen.org можно определить сайт с которого перешли на текущий сайт?
Царик Е.
193 повідомлення
#15 років тому
Для php это $_SERVER.

Или вы не это имели ввиду?
Александра Б.
8018 повідомлень
#15 років тому
Поставить гугльаналитикс)
Максим Ф.
3195 повідомлень
#15 років тому
Нанать бригаду аналитиков и одного менеджера
Олег Б.
292 повідомлення
#15 років тому
?
гугл аналитикс?
$_SERVER?
Тут М.
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;
}
Максим Ф.
3195 повідомлень
#15 років тому
Если б ещё bot_list.txt был, цены бы не было )))
Валентин К.
133 повідомлення
#15 років тому
Андрей К.
1172 повідомлення
#15 років тому
Цитата ("chromotron"):
http://lmgtfy.com/?q=crawler+user+agent

О, теперь знаю что кидать народу вместо старого доброго RTFM :-)
Артем Л.
11416 повідомлень
#15 років тому
Да да... клевый сервис
Евгений О.
2989 повідомлень
#15 років тому
Цитата ("AlekartRu"):
Если б ещё bot_list.txt был, цены бы не было )))

список ботов зарегистрированных и незарегистрированных можно в любом поисковике найти за 5 минут.

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