我的网站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表单的用户提交还是来自控制台。
如何阻止用户从控制台输入发布。
答案 0 :(得分:2)
你做不到。
HTTP请求是一个HTTP请求,手动构建的请求可以看起来是用户想要的(因此,当您可以将隐藏的字段,cookie等推送到请求的需求时,它们总是可以手动复制) 。
使用身份验证/授权并担心谁正在发送数据,而不是是什么。