欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 注册验证用哪些交给前端处理哪些交给后台处理?

程序员文章站 2024-04-05 13:00:18
...
比如:
1.不读取数据库的有效性验证(是否填写验证、密码长度验证、邮箱有效性验证)
2.取数据库的有效性验证(用户名重复验证)
3.密码重复验证(应该算第一类吧?)
4.其它未考虑到的...

/* 原来segmentfault有新手问答板块,于是提问不再害羞了*/

回复内容:

比如:
1.不读取数据库的有效性验证(是否填写验证、密码长度验证、邮箱有效性验证)
2.取数据库的有效性验证(用户名重复验证)
3.密码重复验证(应该算第一类吧?)
4.其它未考虑到的...

/* 原来segmentfault有新手问答板块,于是提问不再害羞了*/

一般在前端需要验证的东西,在后端也必须验证,因为浏览器禁用js后就可以绕过js的验证了。

前端验证是为了体验更好,减少连接请求等。比如,你所说的密码长度验证、邮箱有效性验证这些,在前端就能验证的东西,没必要提交到后端去验证,让这部分处理交给客户端处理是能缓解服务端压力的(对于高并发的网站,效果很明显)。

那什么应该放到后端去验证呢?常见的是与数据库操作有关的,比如用户名重复验证、密码重复验证,这些必须查询数据库才知道的东西。为了更好的体验,现在一般都是通过ajax对后端发起请求,不刷新页面的方式进行验证(同时可以节省流量)。除了与数据库操作有关的可能放到后端去验证,还有一些别的情况也可能放到后端验证,比如有个字段的检查需要借助一个算法,不可能把这个算法的实现写到js去。

总的来说,坚持一个原则,所有验证尽可能放到前端去验证,同时前端验证的东西后端再验证一次。