javascript - 区分 HTML 表单 SUBMIT 和基于控制台的表单 SUBMIT

标签 javascript jquery forms spam console.log

我有一个网站 www.abc.com,其中有一个页面 xyz.phpxyz.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/

相关文章:

python - Django:将表单放入表单(递归...)

html - 使用 perl LWP lib 传递表单数据时遇到问题

javascript - 如何使用 form.$addControl()

javascript - e.preventDefault() 不允许我提交表单

javascript - 在 Laravel 5 中通过 URL 传递数据集?

javascript - 在 Laravel 中编辑期间保持选择选项值处于选中状态

javascript - 通过jQuery解析JSON列表

javascript - jqGrid 添加新列

javascript - 多步骤表单按钮禁用,直到表单选择字段

javascript - 导航栏在滚动上显示/隐藏,如脉冲淡入淡出效果