当前位置:  开发笔记 > 编程语言 > 正文

用PHP检查引用者

如何解决《用PHP检查引用者》经验,为你挑选了2个好方法。

是否可以通过PHP检查谁进入您的网站.我有一个Web应用程序(用PHP编写),只允许用户从某些特定网站进入.是否可以通过检查_Request对象来获取推荐网站?如果有,怎么样?



1> alex..:

是的,但要记住一些代理和其他东西剥离这些信息,它可以很容易伪造.所以永远不要依赖它.例如,不要认为您的Web应用程序对CSRF是安全的,因为您检查引荐来源以匹配您自己的服务器.

$referringSite = $_SERVER['HTTP_REFERER']; // is that spelt wrong in PHP ?

如果您只想允许来自特定域的请求,则需要解析某些URL以获取顶级域.我已经了解了更多,可以使用PHP的parse_url()来完成.

正如andyk在评论中指出的那样,您还必须允许www.example.com和example.com.


RFC中的Referer拼写错误,因此在所有HTTP域中它都是Referer而不是Referrer

2> Gary Richard..:

虽然您可以查看$_SERVER['HTTP_REFERER']引用网站,但不要在农场上赌.浏览器设置此标题并且很容易被欺骗.

如果只有来自特定推荐人的人查看您的网站至关重要,请不要使用此方法.您必须找到另一种方式,例如基本身份验证,以保护您的内容.我不是说你不应该使用这种技术,只要记住它不是万无一失的.

顺便说一句,你也可以使用mod_rewrite阻止apache级别的引用.

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有