如何安全地从 Select 表单中获取数据?
How to Securely Get the Data from a Select Form?
我正在构建一个电子商务平台并使用带有 Select 的表格来获取平台上所需的 T 恤尺寸和许多其他东西。
我面临的问题是我正在使用事件对象来处理函数的提交数据流。
<form onChange={this.handleAtbChange}>
<label for="size">Size</label>
<select name="size" id="size">
<option value='default' selected>Size</option>
<option value='L'>L</option>
<option value='XL'>XL</option>
</select>
</form>
如果用户通过开发者控制台直接修改Select中选项的值会怎样?
当我尝试向服务器发送随机大小的名称时,这将破坏我的整个应用程序。
这个问题的最佳解决方案是什么?
客户端验证是为了可用性,而不是安全性。最好的方法是永远不要相信来自客户端的信息。您说得对,用户可以直接在开发人员控制台中修改输入值。事实上,他们能做的远不止于此。
在后端服务器进行验证,并相应地将错误响应返回给客户端。
服务器端验证将处理此问题。 Return 如果输入值为空或与预期不同,则页面返回表单。
我正在构建一个电子商务平台并使用带有 Select 的表格来获取平台上所需的 T 恤尺寸和许多其他东西。 我面临的问题是我正在使用事件对象来处理函数的提交数据流。
<form onChange={this.handleAtbChange}>
<label for="size">Size</label>
<select name="size" id="size">
<option value='default' selected>Size</option>
<option value='L'>L</option>
<option value='XL'>XL</option>
</select>
</form>
如果用户通过开发者控制台直接修改Select中选项的值会怎样? 当我尝试向服务器发送随机大小的名称时,这将破坏我的整个应用程序。
这个问题的最佳解决方案是什么?
客户端验证是为了可用性,而不是安全性。最好的方法是永远不要相信来自客户端的信息。您说得对,用户可以直接在开发人员控制台中修改输入值。事实上,他们能做的远不止于此。
在后端服务器进行验证,并相应地将错误响应返回给客户端。
服务器端验证将处理此问题。 Return 如果输入值为空或与预期不同,则页面返回表单。