如何在php中获取我的服务器上的帖子数据网址

时间:2014-01-21 11:10:16

标签: php

我需要在php中检查请求Url。 基本上我需要检查表单是否来自同一台服务器。我需要在php中获取表单的动作

2 个答案:

答案 0 :(得分:5)

没有可靠的方法来判断为响应。

而构建的HTTP请求是什么

您可以做的是实施针对CSRF的防御。这并不保证提交来自您自己服务器上的表单,但它会阻止第三方(Mallory)欺骗您网站的用户(Alice)代表他们提交错误数据。

当Alice到达您的站点时,生成随机令牌并将其提供给她(例如在会话中)。将该令牌的副本放在表单中的隐藏输入中。如果在提交表单时,令牌不匹配,则请求来自Mallory。


如果问题是你不相信Alice不自己编辑表单,那么你就不能用它作为辩护。

首先,不要向Alice提供您不信任的数据。在您允许用户访问站点的相关位之前,请检查发出请求的用户的身份。

例如,如果表单是“删除邮件”表单并且您的关注点是“Alice可能会更改要删除的邮件的ID”,那么当您获得该邮件时,请检查Alice是否是具有该ID的邮件的所有者要求删除它。

答案 1 :(得分:3)

您需要CSRF token

请求页面时,在表单中添加一个字符串,如

<input type=hidden name=token value=$token>

并将其保存在数据库中。

可以使用诸如时间戳的哈希之类的东西生成令牌。

提交表单时,请验证令牌是否由服务器本身生成。