繁体   English   中英

“request.referer == nil”是否始终意味着直接流量?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM