我有一个网站 www.abc.com
,其中有一个页面 xyz.php
。 xyz.php
采用表单提交事件读取数据并保存在数据库中。
www.abc.com
有一个针对 xyz.php
执行操作的表单。现在我可以使用控制台发送相同的请求,而无需实际从 HTML 表单发布它。
$.ajax({
type: 'POST',
url: 'www.abc.com/xyz.php',
data:{
"key1" : 'value1',
"key2" : 'value2'
},
success: function( textStatus, jqXHR,response) {
alert("Success");
},
error: function(textStatus,jqXHR , errorThrown) {
alert("ERROR");
}
});
我想知道如何在服务器端验证获取的数据实际上是用户从 HTML 表单提交还是来自控制台。
以及如何阻止用户通过控制台输入发帖。
最佳答案
你不能。
HTTP 请求是 HTTP 请求,手动构建的请求可以是用户想要的样子(因此,虽然您可以将隐藏字段、cookie 等添加到请求的要求中,但它们始终可以手动复制) 。
使用身份验证/授权并担心谁正在发送数据,而不是什么。
关于javascript - 区分 HTML 表单 SUBMIT 和基于控制台的表单 SUBMIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21155181/