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

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

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

阅读 5.4k
1 个回答

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

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

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏