Open LanYunDev opened 6 months ago
数据库中存储 明文暗号 ,但传递给前端始终是加密后的暗号,前端通过加密验证暗号是否正确.
明文暗号
前端: 收到加密暗号,例如通过MD算法、SHA算法等算法,将前端明文输入的暗号进行匹配.如果匹配成功再显示管理按钮.用户点击管理按钮,加载密码框GET_PASSWORD_STATUS请求附带上明文暗号,如果后端验证有误,则提示报错并取消显示管理按钮.
即: 明文暗号 -> 得到密文,但通过密文无法得到明文暗号,请求验证的是明文暗号.
后端: 发送加密后的暗号,收到前端传来的明文暗号进行匹配,如果不一致则返回报错(并拉黑此ip xx分钟或者限制此ip评论 xx分钟)
注意到有人将暗号当密码用,故此提出此issue,希望能提高安全性(可防止前端直接得到明文暗号,防爆破等),并限制恶意访问.
我个人感觉意义不大,因为“暗号”这个功能存在的意义是在前端隐藏多余的按钮来让前端更简洁一点,你说得这个思路完全是把它当作一种鉴权的手段了。 文中还提到了 “有人将暗号当密码用”,这个是用户的问题,而不是程序设计的问题。
数据库中存储
明文暗号
,但传递给前端始终是加密后的暗号,前端通过加密验证暗号是否正确.前端: 收到加密暗号,例如通过MD算法、SHA算法等算法,将前端明文输入的暗号进行匹配.如果匹配成功再显示管理按钮.用户点击管理按钮,加载密码框GET_PASSWORD_STATUS请求附带上明文暗号,如果后端验证有误,则提示报错并取消显示管理按钮.
即: 明文暗号 -> 得到密文,但通过密文无法得到明文暗号,请求验证的是明文暗号.
后端: 发送加密后的暗号,收到前端传来的明文暗号进行匹配,如果不一致则返回报错(并拉黑此ip xx分钟或者限制此ip评论 xx分钟)
注意到有人将暗号当密码用,故此提出此issue,希望能提高安全性(可防止前端直接得到明文暗号,防爆破等),并限制恶意访问.