在服务器端进行两次输入的密码校验没必要吧,这个功能是防止用户不小心输错的,服务器有必要校验么,数据根本不需要传到服务器来。
代码:controllers/sign.js
if(pass != re_pass){
res.render('sign/signup', {error:'两次密码输入不一致。',name:name,email:email});
return;
}
23 回复
@saighost @jiyinyiyong @leizhongmin 三位,要搞清楚让用户输入两次密码是干嘛的,只是为了防止用户输错,而不记得密码。如果用户一定要更改浏览器设置或者用hack方式篡改数据,那是他自己的事。 虽然一个密码校验多少服务器资源,但我认为这种做法是没有必要的,没必要把的有的数据都交由服务器校验。 服务器只校验哪些数据?影响到数据唯一性真实性的,对数据有影响的数据才要校验。 服务器的资源很宝贵,要省着用。
说客户端数据不可信,这个也没错。但是也要想想到底是什么东西不可信吧? 考虑如果有一个修改密码的api,是不是也要让客户端传两个相同的密码?
所以服务器端验证密码复杂度是有必要的,但是验证两个密码是不是相同,就没必要了。