为了账号安全,请及时绑定邮箱和手机立即绑定

开发网站登录功能时,如何保证密码在网络传输过程中的安全?

开发网站登录功能时,如何保证密码在网络传输过程中的安全?

梦里花落0921 2018-10-03 17:13:39
在网站的登陆中,如果不做处理,那么用户名和密码将会在post表单中以明文的方式通过http传递给server。如果http请求被截获,那岂不是意味着用户名和密码的泄漏?如何避免这个问题?
查看完整描述

2 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

HTTPS是让请求~~截获不了~~(叙述不准确,其实也是截获了没有用)。客户端混淆是截获了没有用

截获了没有用的思路上说,简单的单向Hash确实意义不大,攻击者伪造一模一样的POST(重放攻击)就能成功登陆。所以要使用加盐(SALT)Hash。
服务器发送给客户端的登陆页面里嵌上一个一次性且有时效性的字符串Salt,客户端在传回密码时将Salt和密码连接在一起进行Hash再提交。这样客户端每次登录,由于获取到的Salt不同,产生的Hash值也不同,且登录后本次使用的Salt/Hash值立刻作废,攻击者无法通过重放截获的信息登录。

但是仍然并不是真正的安全:攻击者可以拦截客户端的登录请求使之不能到达服务器,然后自己提交拦截的登录请求,从而以用户的身份登录。(也算是中间人攻击了吧)

但是好像HTTPS也不能完全保证抗中间人攻击的,所以大概也就这样了。


查看完整回答
反对 回复 2018-10-14
  • 2 回答
  • 0 关注
  • 1771 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信