2013-02-28 75 views
1

我想保存用戶在登陸我的網站前訪問的網址。我應該怎麼做在Rails中? 我試過 request.env["HTTP_REFERER"]但無法檢索以前的網址。檢測用戶在訪問我的網站前在Rails中訪問的網址

可能這是一種錯誤的方式進行測試,但這裏是我做過什麼:

  1. 我去一個頁面,也就是說,google.com
  2. 然後我輸入:本地主機:3000 。然後調試器來捕獲request.env [「HTTP_REFERER」]。但它不會產生

僅當用戶通過重定向到達我的站點時,HTTP_REFERER纔可用,而不是手動輸入地址?

謝謝。

+3

這叫'referer'。看看這裏:http://stackoverflow.com/questions/5819721/how-to-get-request-referrer-path – 2013-02-28 22:07:32

+0

太多的冷藏箱? – Leeish 2013-02-28 22:08:19

回答

2

如果您輸入新網址,則無法看到用戶所在的最後一頁。HTTP_REFERER僅在您點擊鏈接時纔會設置。如果你能看到用戶以前查看的任何任意URL,那將是一個非常大的隱私入侵。

+0

另請注意,用戶可以在其瀏覽器中禁用引用程序(至少在Firefox和Chrome中)。 – 2013-02-28 22:23:15

1

這是在HTTP頭中作爲「referer」發送的。所以,如果用戶的瀏覽器和/或任何代理沒有過濾出來,request.referer應該有你需要的。

+0

謝謝。我更新了我的問題以澄清。您能否提一些建議? – AdamNYC 2013-02-28 22:11:30

+1

引用者的意圖是指示引導用戶訪問網站的「源」。因此,點擊鏈接或獲取重定向可能都是您最後一次成爲「引薦者」的頁面的有效方式。如果你在瀏覽器中鍵入你的URL,你就是「源」,而不是你所在的任何頁面,所以我不希望最後訪問的頁面顯示在引用標題中。所以,是的,當你手動輸入地址時,我希望它是空的。我不確定所有的瀏覽器是否符合這個觀點,正如其他海報評論中的一樣,現在有些人現在允許你關閉隱私。 – yogaphil 2013-02-28 22:55:51