你的网站密码安全吗——保障用户密码安全的一些套路

保障网站用户的密码安全,是一个永恒的话题。没有绝对完美的方案,但同样要求我们从各个环节出发,尽力保证用户密码的安全。

从用户的前端登录,到网络传输,服务器处理,数据库存储,每个环节都要有相应的安全措施。简单来看,如下图:
你的网站密码安全吗——保障用户密码安全的一些套路_第1张图片

如何应对猜测、暴力破解

  1. 要求用户输入的密码尽可能复杂,如 必须包含数字、大写字母、小写字符、特殊字符中的三种,长度大于8等
  2. 加入防刷机制,多次密码错误,强制输入验证码。错误次数累积到一定量,锁定账号一定时间不允许登录

如何应对传输过程中劫取

  1. 对前端输入的密码,利用不可逆算法加密后传输
  2. 对传输过程进行加密,使用 HTTPS/TLS 加密传输

如何应对数据库拖库

  1. 数据库不允许存储明文密码
  2. 对于前端传输过来的密码,增加其复杂性,再进行存储。具体措施包括:
    2.1 加盐
    2.2 添加账号相关信息,如 账户ID后4位,使其与账户相关(这样替换密码也不能登录了)
    2.3 利用不可逆算法,如 MD5/SHA1/SHA2,对最终的结果再进行加密。
    总结公式为:
    最终数据库密码 = f(前端传入的密码 + 盐 + 账号相关信息)

总结

当然,随着科技的进步,现在用户的密码范围已经越来越宽泛。从网站手书的密码,到指纹、面容等生物密码,技术的进步,也带来了密码的不断发展。
所谓道高一尺,魔高一丈,各种破解密码的方式同样也层出不穷。保障用户的密码安全,是一个永恒的话题。
你遇到过哪些密码被破解的场景呢?有什么好的解决方法吗?

你可能感兴趣的:(架构,密码,安全)