Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在php中获取post请求的引用url?_Javascript_Php_Security_Post_Httprequest - Fatal编程技术网

Javascript 如何在php中获取post请求的引用url?

Javascript 如何在php中获取post请求的引用url?,javascript,php,security,post,httprequest,Javascript,Php,Security,Post,Httprequest,我正在开发一个php网站,允许用户添加带有描述、图像等的产品。我正在使用POST方法接收用户输入。但是,如果用户知道表单输入名称和表单的操作链接,他们可以使用javascript发送不断的请求并阻塞我的数据库 因此,如果我可以从POST请求的来源获取URL,我可以防止这种情况发生。只有当POST请求来自我的网站url时,我才能将信息输入数据库。 我知道使用验证码也可以防止这种攻击,但我想要一种替代方法,主要是因为验证码是痛苦的 我有没有办法不用验证码就能做到?也许是会议 您可以使用标题仅允许来自

我正在开发一个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;
}