Javascript 如何在php中获取post请求的引用url?
我正在开发一个php网站,允许用户添加带有描述、图像等的产品。我正在使用POST方法接收用户输入。但是,如果用户知道表单输入名称和表单的操作链接,他们可以使用javascript发送不断的请求并阻塞我的数据库 因此,如果我可以从POST请求的来源获取URL,我可以防止这种情况发生。只有当POST请求来自我的网站url时,我才能将信息输入数据库。 我知道使用验证码也可以防止这种攻击,但我想要一种替代方法,主要是因为验证码是痛苦的Javascript 如何在php中获取post请求的引用url?,javascript,php,security,post,httprequest,Javascript,Php,Security,Post,Httprequest,我正在开发一个php网站,允许用户添加带有描述、图像等的产品。我正在使用POST方法接收用户输入。但是,如果用户知道表单输入名称和表单的操作链接,他们可以使用javascript发送不断的请求并阻塞我的数据库 因此,如果我可以从POST请求的来源获取URL,我可以防止这种情况发生。只有当POST请求来自我的网站url时,我才能将信息输入数据库。 我知道使用验证码也可以防止这种攻击,但我想要一种替代方法,主要是因为验证码是痛苦的 我有没有办法不用验证码就能做到?也许是会议 您可以使用标题仅允许来自
我有没有办法不用验证码就能做到?也许是会议 您可以使用标题仅允许来自url的帖子:
header('Access-Control-Allow-Origin: http://yoururl.com');
干杯您可以查看以下内容:
$_SERVER['HTTP_REFERER']
变量,但这是可以伪造的,所以要小心
您最好使用一些设置为值的隐藏输入,这些值必须等于要进行插入的设置字段(我现在不知道这种技术的名称)
i、 e
希望对你有点帮助
另外,我也讨厌验证码 为表单提供安全性的最佳方法可能是向表单中添加CSRF令牌() 它的工作原理是每次呈现表单时,生成一个伪随机代码并将其存储在会话变量中,同时将相同的代码作为隐藏输入放入表单中 因此,当用户发布表单时,您可以验证csrf令牌是否相同 还有另外一条线索,你可以看看
()你查过了吗?@邪恶护林员:是的,我查过了,似乎不符合我的目的。。这完全可靠吗?我的意思是,这是否符合验证码的目的?是的,请看这里:“如果资源所有者希望限制对资源的访问仅限于来自,他们将返回:access Control Allow Origin:”好吧,不仅使用css,我还可以使其不被任何人看到。。但是如果有人知道这个隐藏的值,他们可以很容易地将这个值与他们的攻击请求一起发送。据我所知,网络专家可以转储帖子数据并找出发布的内容。。i、 黑客有可能知道隐藏输入的价值…:(我认为spambot比CSS隐藏的输入更容易检测到隐藏的输入,但我不能肯定地告诉你,因为我从来没有感觉到需要使用它。
<input type="text" id="areyouhuman" name="areyouhuman" value="123456001" />
#areyouhuman{
display:none;
}