php表单:使用令牌阻止外部海报
我正在做一个有趣的网络游戏,有很多表单将数据发布到php页面。有哪些方法可以防止人们使用自己的web表单发布到我的网站 我的PHP知识不太先进。所以,当我研究这个话题的时候,不幸的是,我发现的答案让我有点困惑。我发现前面的问题解决了这个问题:。第一个答案让我有点困惑,我想知道是否有人可以提供一个PHP示例。我正在努力解决的一些具体问题是:php表单:使用令牌阻止外部海报,php,webforms,security,Php,Webforms,Security,我正在做一个有趣的网络游戏,有很多表单将数据发布到php页面。有哪些方法可以防止人们使用自己的web表单发布到我的网站 我的PHP知识不太先进。所以,当我研究这个话题的时候,不幸的是,我发现的答案让我有点困惑。我发现前面的问题解决了这个问题:。第一个答案让我有点困惑,我想知道是否有人可以提供一个PHP示例。我正在努力解决的一些具体问题是: 如何将令牌保存在服务器上的某个位置 您如何决定该令牌是什么 如果有人在网站上,他们不能只查看源代码和 在隐藏的输入元素中查看标记,并在自己的元素中使用该标记
- 如何将令牌保存在服务器上的某个位置
- 您如何决定该令牌是什么
- 如果有人在网站上,他们不能只查看源代码和 在隐藏的输入元素中查看标记,并在自己的元素中使用该标记 第三方表格
您可以使用许多CSRF预防库。一是 您可能还希望阅读,以了解问题,并了解实现设计背后的原则 如果您已经阅读并理解了这些问题,那么如果您希望构建自己的实现,那么添加自己的保护应该是一项简单的工作
请记住,如果您有,您的CSRF保护可以简单地绕过。所以一定要理解。乔治,谢谢你的快速回复。我仍然不太理解令牌方法。那么,您可能会存储诸如$_SESSION['token']、$_SESSION['expirationTime']等变量吗?至于第三部分,为什么用户不能在本地编写一个php文件,自己设置会话变量并提交表单呢?我想我仍然缺少这种方法的一些基本要素。我希望能找到一个用PHP编写的简单示例,但在网上找不到。@navr91:这是一个小示例:
$\u SESSION['token']=md5(time())代码>$\u会话['expire']=time()+30//30秒
当显示表单时:谢谢,Cheekysoft。我将通读这些链接。我想我现在了解它是如何工作的,但我只是不确定如何实现它。不过,通读OWASP保护库的源代码应该会有所帮助。