我正在开发一个 web 应用程序项目(在 java 中;没关系),我们有一个带有下拉列表和输入字段的表单。
显然提供了下拉列表,因为我们期望从一组值中获得特定值。
所以我的问题是:确保提交的值在预期值集中是否有意义?或者只是假设出现了正确的值是否可以接受?
提交的不同值不会产生任何“错误”,但数据存储与业务规则/要求不一致。
我正在开发一个 web 应用程序项目(在 java 中;没关系),我们有一个带有下拉列表和输入字段的表单。
显然提供了下拉列表,因为我们期望从一组值中获得特定值。
所以我的问题是:确保提交的值在预期值集中是否有意义?或者只是假设出现了正确的值是否可以接受?
提交的不同值不会产生任何“错误”,但数据存储与业务规则/要求不一致。
您绝对应该验证提交的值是否在预期值集中。使用 firebug 提交任何你想要的下拉菜单是微不足道的。
最佳实践:假设每个用户都是一个肮脏的黑客,他们为你服务,并会尽其所能来让你的网站崩溃。
因此,必须在服务器端验证所有数据。
黑客不会使用您的表单。他们创建随机表单数据并通过其他方式提交。事实上,黑客甚至不知道你的网站做了什么——他们的扫描仪只是在你的网站上徘徊并提交随机的东西。
我使用广泛的客户端验证(c# 验证器)并验证表单上的每个字段。这样当用户使用我的表单时,当最终访问服务器时,数据应该是好的。
但是,我们仍然得到错误的数据!这是黑客使用他们自己的工具探测该站点。
这不像我们是一个好的目标——我们没有任何财务记录暴露在网络上,那又怎样?如果您可以免费使用我们的网站。问题是黑客不知道这一点,并且无论如何都在探索。