在我的工作中,我經常需要弄清楚我們的流量來自哪裏。我們購買谷歌廣告,並通過網址中的查詢字符串來識別流量。 (mywebsite.com/?x="google_ad_group_4" )。找到引用頁面(php)
如果有$ _GET ['x'],那麼在每個頁面上我都會包含一些會話,將$ _SESSION ['x']設置爲$ _GET ['x']。如果沒有$ _GET [「X」]我通過一些其他的選擇,看看他們來自何處,並設置在$ _SESSION [「X」]:
$refurl = parse_url($_SERVER['HTTP_REFERER']);
$query = $refurl['query'];
parse_str($query, $result);
if (isset($result['q'])&& strstr($_SERVER['HTTP_REFERER'],'google')) {
$_SESSION['x'] = 'G-'.str_replace('\\"',"X",$result['q']);
}elseif (isset($result['p'])&& strstr($_SERVER['HTTP_REFERER'],'yahoo')) {
$_SESSION['x'] = 'Y-'.$result['p'];
//took out bing, aol, ask etc in the name of brevity
}else{
if ($refurl['host']){
$_SESSION['x'] = $_SESSION['x'].'_ref-'.$refurl['host'];
}
}
這樣我可以追加搜索查詢將用戶帶到該網站以及他們使用的搜索引擎。我記錄傳入的$ _SESSION ['x']的。
許多用戶使用$ _SESSION ['x']的「_ref-mywebsite.com」,這是沒有意義的,如果它們來自我自己的域名,他們已經有一個$ _SESSION ['x']設置在任何頁面上。這是因爲他們的瀏覽器安全性高嗎?
我錯過了一些明顯的東西嗎?有沒有更聰明的方法來做到這一點?
我可以設置HTTP_REFERER任何東西(我剝奪它,每個請求),所以它沒有意義。 – 2012-04-25 23:41:10