小白提问:在HTTP环境下前端如何防止在登录注册的时候拦截到的已加密密码

qq_33190755 2020-05-25 02:19:58
小白提问:首先明文传密码给后端肯定是不安全的,直接F12就可以看到传递的数据.但是如果密文加密的话,浏览器依旧可以看到,依旧可以直接用加密后的密码去进行模拟登录,感觉和没有加密没什么区别,请问现有的技术或方案有什么可以解决的吗?
...全文
381 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_43869905 2020-05-26
  • 打赏
  • 举报
回复
网络协议用https,这样就不会被第三方拦截篡改,但是你说f12 可以看到这个password 这个是没办法的,客户端都叛变了,这也无意义,你自己就算不f12 你也知道密码是多少 所以 你的那个泄密的说法不成立. 然后就是:目前大多数做法 是使用非对称加密, 也就是说 你得先请求后端 拿到一个key 然后用这个key 把数据加密 传给后端
trainee 2020-05-26
  • 打赏
  • 举报
回复
有这方法: 1、质询-响应机制:服务器生成一个salt(随机字符串),并发送给前端t,前端把用户密码的HASH之后,再和这个随机字符串进行2次HASH, 服务端按同样的方式检验。此法保证可每次提交都是一次性的,客户端或第三方即使保留了密文,想再次提交也是徒劳了。
虎子8 2020-05-26
  • 打赏
  • 举报
回复
比如加上 时间撮加密,这样每次的加密后的密码是不同的,别人看知道也没事,当然加密算法在前端,可以代码混淆一下,但是在高手面前也如纸一般
similing 2020-05-25
  • 打赏
  • 举报
回复
加密目的是为了防止传输文被人截获以窃取信息,这里只要处理一下明文就行了。如果担心被破解那就直接单向加密(比如md5),服务器对原文单向加密后的密文进行验证,这样就不会被人破解了。 如果你要防止模拟登陆一般方法就是加密方法用js混淆,最直接的方法就是加验证码,比较难的方法就是签名。但都做不到绝对安全。
jio可 2020-05-25
  • 打赏
  • 举报
回复
配置域名拦截,只有自己的域名才能访问api

87,926

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧