javascript - 在双方或仅在服务器端验证表单?
问题描述
我对 JS 中的表单验证有疑问。我知道应用程序的大部分输入必须在服务器端进行验证,但如果您也在客户端进行验证,您将避免对服务器的不必要请求。
另一方面,您的数据验证逻辑将暴露在您的客户端代码中(我认为会有更多机会绕过应用程序安全性),并且还会出现代码重复(在服务器和客户端中)和仔细检查一切是否正确,这不是最佳性能。
有什么标准吗?到目前为止,我一直在后端做所有这些事情,但我对此有点好奇。
我真的很感激一位经验丰富的程序员的建议(如果需要的话,可以列出优缺点)。
谢谢你。
解决方案
我没有那么有经验,但我的观点是,我只会在客户端进行验证,主要是在它影响 UI/UX 的情况下。它可能与权限有关,因此 UI 可以禁用某些东西。另一个方面是数据类型,这可以在客户端进行限制,但这不是验证。
推荐阅读
- c - 在结构内部打印结构
- string - 有没有办法列出 perluniprops 中的所有类别?
- javascript - 如何在设置中访问 this.$q quasar 对象?- Vue 3 组合 API
- javascript - 当我水平滚动数据点时,Highcharts 阻止移动 Safari 上的页面上下移动
- c# - Mifare Desfire / Mifare plus 无法使用 ACS ACR1252 读取
- spring-boot - 错误 org.apache.cxf.interceptor.Fault: XML_WRITE_EXC
- reactjs - 使用 react hook 表单验证会导致错误
- react-native - 错误:interpolate() 在 Reanimated 2 中被重命名为 interpolateNode()。请改用 interpolateNode()
- python - FastAPI:从 API 发送多个请求的最佳方式
- i2c - ESP32 - 连接到 MCP23009。即使连接返回成功(0),也无法将 OUTPUT 设置为 HIGH