我想跟蹤有多少人關注通過電子郵件發送的鏈接。通過網址跟蹤用戶並避免手動篡改
目前,我正在考慮建立一個單獨的頁面,通過鏈接調用get變量來表明這是通過電子郵件完成的。
顯然,這可以通過導航器的地址欄手動篡改。我可以用什麼方法來限制?
我想跟蹤有多少人關注通過電子郵件發送的鏈接。通過網址跟蹤用戶並避免手動篡改
目前,我正在考慮建立一個單獨的頁面,通過鏈接調用get變量來表明這是通過電子郵件完成的。
顯然,這可以通過導航器的地址欄手動篡改。我可以用什麼方法來限制?
1)使用完全不同的URL重定向到真正的一個:
http://www.mysite.com/emailOffer
- >http://www.mysite.com/specialpage
emailOffer會做記錄,然後發送一個Location
HTTP頭指向真實頁(特殊頁)
http://www.mysite.com/emailOffer
應該是這樣的:
/* SOME LOGGING CODE GOES HERE - PROBABLY MYSQL STUFFS */
header("Location: http://www.mysite.com/specialpage");
2)添加一個GET參數,如:http://www.mysite.com/specialpage?email
然後在PHP中,你可以這樣做:if(array_key_exists('email',$_GET)) addToCounter();
3)您可以記錄每個人的HTTP引用頭誰打的頁面並運行包含「郵件」參照網址查詢(例如,mail.google.com,hotmail.com)
爲了防止篡改,可以使參數似乎值得: http://www.mysite.com/specialpage?secretOffer
祝你好運! :)
PS - 對不起,我的回答可怕的格式...
在大多數情況下,人們可能只是使用GET方法,在所有情況下,雖然,它可以被篡改的,幾乎每一個元素可以如果一個人真的想要改變,但只要告訴你哪裏有人離你很遠,或者檢查引用者,這可能是高度懷疑的,你必須檢查各種各樣的東西。
如果你不關心他們在電子郵件中的實際鏈接,你可以創建一個輔助頁面,擊中你的櫃檯,輸出什麼,只是重定向他們像
<?php
... do counter stuff ....
header('Location: http://actual.address.com/');
?>
他們導航欄將更改爲新地址,並且他們幾乎不會注意到原始地址。
如果按照你的意思是點擊一個鏈接,你可以添加一些參數到鏈接:page.php?param1 = 1&param2 ....或者你可以添加一個像素到頁面,所以每次電子郵件是opn你可以得到反饋 – Ibu 2011-05-11 04:04:06
檢查引用像MicronXD說可能是最好的方法。這顯然可能被欺騙/錯誤,但大多數人不會打擾。然而,我不知道你指的是什麼類型的鏈接。如果是針對可能未訪問該網站的用戶,您可能會注意到他們直接訪問某個網站時通知頁面,或類似的東西,通過檢查舊會話或任何你想使用的方法。 – Filgera 2011-05-11 04:34:32
@Ibu:是的,類似於用戶的id。像素是一個想法。另一個是生成一個單一的隱藏ID(?crypticid = 52e565sdfd54 ...),儘管這可能需要一些代碼。 – 2011-05-11 04:34:59