Javascript 如何防止用户使用inspector工具更改表单值或删除输入字段元素?

Javascript 如何防止用户使用inspector工具更改表单值或删除输入字段元素?,javascript,jquery,html,node.js,Javascript,Jquery,Html,Node.js,我有一个表单,有几个单选按钮、必填字段和勾选框,需要在提交前填写。我已经对表单进行了一些测试,使用inspector工具,我能够更改单选按钮的值,删除必填字段元素,删除勾选按钮元素,并将其提交到我的数据库中,没有任何问题 如何防止这种情况发生 我的表单字段示例: <input type="checkbox" required name="terms">I agree to the <a href="/terms-and-conditions" target="_blank"&

我有一个表单,有几个单选按钮、必填字段和勾选框,需要在提交前填写。我已经对表单进行了一些测试,使用inspector工具,我能够更改单选按钮的值,删除必填字段元素,删除勾选按钮元素,并将其提交到我的数据库中,没有任何问题

如何防止这种情况发生

我的表单字段示例:

<input type="checkbox" required  name="terms">I agree to the <a href="/terms-and-conditions" target="_blank"> Terms and Conditions</a></label>

<input type="radio" name="medicalAilments" value="No">No</label>

<input type="email" id="userEmail" class="form-control" required name="userEmail">

简单回答:你不能。即使您可以在web浏览器中禁用编辑,是什么阻止您的客户端使用cURL模拟格式错误的请求?我假设您正在将此表单发布到web服务器,在这种情况下,您应该在服务器上进行验证,如果必填字段不存在,则返回错误。一个好的经验法则是永远不要相信客户。修改请求和添加/删除/修改值很简单。

所以基本上我应该在后端进行额外的验证。是的,您应该始终在后端进行验证。您可以在客户端上进行额外的验证,但这纯粹是为了用户体验。恶意用户可以轻松绕过任何客户端保护。