用户注册别明文存密码,数据库被拖库,所有用户密码直接泄露拿去撞库
新手做用户注册功能,直接把用户的密码明文存数据库里,网站数据库被拖库,所有用户的密码直接泄露,被人拿去撞库盗其他账号。密码存储的正确做法:第一,绝对不能明文存密码,用PHP自带的password_hash函数加密,每个用户的密码自动带随机盐,就算两个用户密码一样,存到数据库里的密文也完全不同;第二,别自己写MD5、SHA1加密,现在彩虹表几秒钟就能把常见密码破解出来,用系统自带的加密函数,专门用来存密码的,安全级别足够;第三,别在前端把密码MD5了传给后端,抓包就能拿到MD5值直接登录,前端就正常传明文HTTPS,后端负责加密存;第四,用户密码找回功能,别把明文密码发用户邮箱,生成一次性重置链接,24小时有效,点进去才能改密码。
我之前做社区,图省事把用户密码明文存,后来网站数据库被注入,赶紧让所有用户改密码,之后换成password_hash,再也没出过密码泄露的问题。很多新手觉得用户密码存数据库,只要自己后台看不到就行,其实明文存储是最低级的安全错误,用系统自带的加密函数,几行代码就能搞定,比被拖库后赔用户损失强太多。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0