问题对人有帮助,内容完整,我也想知道答案0 问题没有实际价值,缺少关键内容,没有改进余地
比如:
1.不读取数据库的有效性验证(是否填写验证、密码长度验证、邮箱有效性验证)
2.取数据库的有效性验证(用户名重复验证)
3.密码重复验证(应该算第一类吧?)
4.其它未考虑到的...
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
一般在前端需要验证的东西,在后端也必须验证,因为浏览器禁用js后就可以绕过js的验证了。
前端验证是为了体验更好,减少连接请求等。比如,你所说的密码长度验证、邮箱有效性验证这些,在前端就能验证的东西,没必要提交到后端去验证,让这部分处理交给客户端处理是能缓解服务端压力的(对于高并发的网站,效果很明显)。
那什么应该放到后端去验证呢?常见的是与数据库操作有关的,比如用户名重复验证、密码重复验证,这些必须查询数据库才知道的东西。为了更好的体验,现在一般都是通过ajax对后端发起请求,不刷新页面的方式进行验证(同时可以节省流量)。除了与数据库操作有关的可能放到后端去验证,还有一些别的情况也可能放到后端验证,比如有个字段的检查需要借助一个算法,不可能把这个算法的实现写到js去。
总的来说,坚持一个原则,所有验证尽可能放到前端去验证,同时前端验证的东西后端再验证一次。