有什么方法可以确切知道POST请求源自哪个服务器?
我正在尝试实施一种方法,其中我可以检查特定请求是否来自我的网站,因此这将有助于我保持网站安全
由于
答案 0 :(得分:8)
听起来您正在尝试实施跨站点请求伪造保护,您需要确保请求源自Web服务器提供的HTML。不要依赖于referer头,因为它经常被防火墙剥离,并且可以被操纵。
有关如何实施此类保护的一些好消息,请参阅OWASP。基本上它是这样的:
生成安全的随机值并将其贴在用户的会话上
对于每个HTML表单,请将此值包含为隐藏值()
每当POST请求返回到您的服务器时,请检查隐藏字段中的值是否与用户会话中的值相同。如果不是,请拒绝该请求。
因为每个用户的alue是唯一的,攻击者不能简单地伪造具有预填充值的表单,并诱骗用户使用javascript自动发布它。该请求将被拒绝,因为攻击者不知道伪造形式的隐藏字段包含哪个值。
答案 1 :(得分:3)
答案 2 :(得分:1)
您想要$_SERVER["REMOTE_ADDR"]
。
答案 3 :(得分:1)