Вопрос по search, php – Как я могу использовать $ _SERVER ['HTTP_REFERER'], чтобы узнать, что пользователь пришел из Google?

0

Я не использовал$_SERVER['HTTP_REFERER'] до и я не знаю, как я могу использовать это, чтобы найти, что пользователь пришел на мой сайт, нажав на ссылку в результатах поиска Google. Пользователь может прийти с google.com, google.co.uk и т. Д.

Помощь высоко ценится.

Ваш Ответ

2   ответа
0

Это мое решение, которое не дает никаких предупреждений, когда реферер не существует из запроса страницы.

public function doesUserCameFromCrawler() {
    $crawlerList=array("google.","yandex.","bing.");

    if (isset($_SERVER['HTTP_REFERER'])) {
        $referringPage = parse_url( $_SERVER['HTTP_REFERER'] );
        if ( isset( $referringPage['host'] )) {
            $referringHost = $referringPage['host'];
            foreach ($crawlerList as $crawler) {
                if (strpos(strtolower($referringHost),$crawler) !== FALSE) {
                    return TRUE;
                }
            }
        }
    }
    return FALSE;
}
8
$url = $_SERVER['HTTP_REFERER'];
$query = parse_url ($url, PHP_URL_QUERY);
$host = parse_url ($url, PHP_URL_HOST);
if (strstr ($query, 'q=') && strstr ($host, 'google.')) {
    // user came from google
else {
    // user didnt come from google
}
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded guitarlass
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded guitarlass

Похожие вопросы