【发布时间】:2012-09-13 10:07:51
【问题描述】:
大家好,
在洗澡的时候,我想到了一些有趣的事情。在 PHP 中,您如何判断用户提交的表单是否有效而不是欺诈(即其他站点上的其他表单,action="http://mysite.com/sendData.php")?因为真的,任何人都可以创建一个表单来尝试在真实后端发送和匹配 $_POST 变量。我怎样才能确保 那个 脚本是合法的(来自我的网站并且只有我的网站),所以我没有某种克隆网站数据窃取的事情发生开吗?
我有一些想法,但不知道从哪里开始
- 生成一次性密钥并存储在隐藏的输入字段中
- 尝试(尽可能)获取表单所在的 url(可能不可能)
- 使用一些非常复杂的 PHP 好东西来确定数据的发送位置(可能)
有什么想法吗?谢谢大家!
【问题讨论】:
-
随机一次性键是要走的路。不要费心去检查请求的来源,即使有一些方法很容易被欺骗。
-
这是有据可查的,一个简单的谷歌搜索将为您提供有关该主题的大量信息。即使您知道数据的来源,编辑页面的 HTML 也非常容易。最好的办法是在服务器端验证您的所有数据,如果您做得正确,它的来源并不重要。
-
大声笑好的一次性密钥和会话散列无处不在.. 但是为什么是-1? XD
-
人们在最后期限的压力下努力工作,而您正在放松身心。否决票! :P(不是我!)
-
您是否区分这与有人从您的网站上抓取所有内容然后从不同来源发送欺骗值?
标签: php web-services web-applications security