[英]Does “request.referer == nil” always mean direct traffic?
當request.referer
沒有返回任何內容時,這是否始終意味着訪問者沒有通過鏈接執行請求 - 即她以某種方式手動輸入所請求頁面的地址?
或者還有其他情況, request.referer
返回nil
(授予請求成功)?
簡答:不。
一般來說,引用者 - 與所有其他HTTP頭一樣 - 是用戶提交的數據。 用戶提交的數據不應該受信任。
在我的腦海中,我可以想到這些場景,如果用戶沒有手動輸入URL,就不會設置引薦來源。
可能還有其他情況(fx我不確定瀏覽器在新窗口中打開鏈接時如何處理引用)。
然后是設置引薦來源但沒有用戶輸入地址的情況; 特別是機器人 - 特別是推薦人 - 垃圾郵件。
我還沒有證實,但它總是安全不檢查nil
為空值,但使用blank?
request.referrer.blank?
這確保了它是零或空白字符串的情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.