只要有会员系统的网站就会涉及到密码,如果处理不好就会造成前阵子那种事。下面我就说说我在开发时是如何处理密码这块功能的。
首先,密码必须加密,但简单的MD5加密已经没有太大意义,为了防止字典破解,我会给密码加盐后在MD5,我一般是用用户自己的密码当盐。
这一步操作后基本上就不怕数据库暴露了,接下来要做的就是前端的了。我们知道,HTTP传输协议是明文的,也就是可能用户密码还没有到后端,在传输途中就可能泄露了,那要怎么解决呢?
其实我们完全可以把加密这一步骤放到前端来,密码加密好后再进行传输,这样传输数据如果被抓取,也是加密过的密码。
既然要在前台加密,那就需要一个用来实现加密的js,我这推荐一个MD5.js,调用方法可以看下源码,没几行代码,而且也没有压缩过。
这就是我对密码这块做的2个处理,希望对大家有帮助。如果你又更好的办法也希望能分享出来。