2013-01-24 31 views
2

我有一個要求知道推薦人的URL,我使用$_SERVER['HTTP_REFERER']它適用於指向我的網站的網站,但它沒有顯示任何網址,當鏈接已從任何電子郵件收件箱中點擊。獲取電子郵件推薦人地址

+0

如果我從網站複製鏈接,打開新窗口/選項卡,將URL粘貼到地址欄中,然後按ENTER鍵,您也將擁有一個空的'$ _SERVER ['HTTP_REFERER']'... – shadyyx

+0

當用戶來到從他沒有被提及的電子郵件中,所以我假設一個空的結果是準確的。另外,正如下面的答案中所述,HTTP_REFERER不能真正被信任。爲什麼不將URL參數添加到電子郵件鏈接並使用它來跟蹤點擊來自電子郵件? –

+0

當您的電子郵件來自URL時,您會期待什麼?電子郵件不是一個網頁。 – Barmar

回答

4

簡短的回答是,你不能用HTTP_REFERER做到這一點。電子郵件客戶或任何其他人的事情,都沒有義務向該標題提供請求。

php.net來自:

的頁面(如果有的話),其被稱爲用戶代理到當前頁面的地址。這由用戶代理設置。並非所有的用戶代理都會設置它,有些提供了將HTTP_REFERER修改爲功能的功能。總之,它不能真正被信任。

正如評論中指出的那樣,您必須在用戶點擊的鏈接中嵌入跟蹤信息,以便在您的控制範圍內進行點擊。

+0

謝謝。不,我不能做任何更改網址。我將嘗試更改過程的體系結構並附加一些代碼以識別它。 –

相關問題