40

我需要检查并记录访问者对我的 Web 应用程序的引用。使用可靠HTTP_REFERER吗?还有其他选择吗?

4

1 回答 1

49

usingHTTP_REFERER不可靠,它的值取决于Referer浏览器或客户端应用程序发送到服务器的 HTTP 标头,因此不能信任,因为它可以被操纵。

关于Referer标头,RFC2616 的第 15.1.2节指出:

因此,应用程序应该尽可能多地向该信息的提供者提供对该信息的控制。

我们建议(但不要求)为用户提供一个方便的切换界面来启用或禁用 From 和 Referer 信息的发送。

许多在线隐私工具破坏了此值,并且许多浏览器(例如 FireFox)长期以来一直允许用户阻止发送此标头。所以简而言之,我不会为了任何严肃的目的而依赖它。例如,保护表单以使路过的垃圾邮件发送者无法发布值,因为它们Referer可以被欺骗。

如需进一步阅读,请参阅:

使用referer字段进行身份验证或授权(WayBackMachine)

于 2011-05-16T22:05:22.020 回答