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