我有这个案例:
我有一个名为 form.php 的文件,它只包含带有 POST 方法的简单 HTML 表单,并且该表单的“动作”文件总是在不同的文件上,比如说:action.php。所有这些脚本都存储在一个名为 realdomain.com 的域下(只是一个示例)。
今天,我从另一个域(例如:fakedomain.com)创建了一个假表单,然后我输入了这个:action="http://realdomain.com/action.php"
然后点击提交按钮,realdomain.com 上的 action.php 无法区分它是来自 realdomain.com 还是 fakedomain.com让它就这样过去……
然后我有一个想法,在 action.php 上放置一些“过滤器”,仅在引用的域是 realdomain.com 时处理提交的变量$_SERVER['HTTP_REFERER']
。
但同样,在某些论坛或博客文章中,这种方法根本不可靠,因为 HTTP_REFERER 也可以伪造。
那么,如何验证这一点呢?我的意思是,如何使 action.php 只处理从同一服务器提交的变量?
谢谢