我司前端把密码明文扔到 cookie 里面,这样做对吗

2019-10-31 17:40:47 +08:00
 392039757

我不是前端,不懂也不敢问 eg: Cookie: userPwd=123456; userName=ws201907

21616 次点击
所在节点    程序员
187 条回复
encro
2019-11-01 09:41:02 +08:00
1,cookie 会随着 http 请求头每次发送到服务器端,所以设置过多的 cookie 无形增加了传输带宽;
2,cookie 可以被客户端修改,明文存储容易被黑客修改后进入其他账户,比如将用户名或角色修改为 admin,从而拥有管理身份;
3,在传输过程中被拦截,因为各个地方接入服务商都是不干净的,现在 HTTP 网站被地方电信机房挂码概率为总体 20%以上,首次 80%以上,对方要拿密码是轻而易举的。
liuzhiyong
2019-11-01 09:41:14 +08:00
当然不对啦。
xuanbg
2019-11-01 09:44:22 +08:00
这种做法绝对是已经违法了。等保 2.0 了解一下
killerv
2019-11-01 09:44:33 +08:00
我见过一个事业单位的网站,有个记住密码功能,做法就是密码扔 cookie 里……
skylancer
2019-11-01 09:45:36 +08:00
@zdnyp cert pinning 了解一下
xiaokui
2019-11-01 09:45:36 +08:00
这不扯么?赶紧修改吧
akakidz
2019-11-01 09:55:35 +08:00
看了一下回复才明白楼主的意思,前端这样搞肯定是不行的:)
qinxi
2019-11-01 10:00:42 +08:00
我见过 社交软件 用户列表返回值带明文密码的...

好在这家公司倒闭了
chennqqi
2019-11-01 10:05:10 +08:00
首先不合规。
其次不安全,楼上的这些兄弟不要混淆 https 和加密。https 解决的是传输信道的安全,不是解决密码验证逻辑的安全。
还有楼上说的窃取 cookie 也可以获得登录权限的这种,窃取 cookie 和窃取密码是两种情况。你把密码存放到 cookie 里,别人拿了密码在哪儿登录都可以。你没有存放密码,别人窃取了 cookie,在 cookie 失效时就不能登录。另外如果服务端做了 cookie 客户端验证。也可以做到 cookie 其他地方登录无效的。
chennqqi
2019-11-01 10:06:42 +08:00
补充一下:说网站没有责任做这部分密码安全的请仔细读一下《网络安全法》,网络安全法实施后,这些是网站经营者的责任,由于网站经营者的责任导致用户损失的要承担法律责任
laoyur
2019-11-01 10:09:17 +08:00
@killerv 你说的那个站,可能是 @13725151469wy 哥做的
component
2019-11-01 10:10:34 +08:00
安全感是自己给的,小伙子。
keepeye
2019-11-01 10:11:23 +08:00
有的客户就是要求记住用户名+密码,下次不用手动输入,不是要记住登录状态,请问各位大牛前端该怎么实现才绝对安全?
hakono
2019-11-01 10:22:26 +08:00
@keepeye lastpass 解君愁
Yvette
2019-11-01 10:27:36 +08:00
@keepeye 不是前端不了解,不过至少所有我用过的国内国外的网站,没有任何一个是可以选择记住密码的,都是只有记住用户名或者登陆状态
pkoukk
2019-11-01 10:42:37 +08:00
@msg7086
很多用户的账号密码是多网站通用的,不做任何处理记录在 cookie 里,有着明显的隐私泄露问题
上厕所的时候隔壁小哥看一眼你的电脑,就把你的账号密码抄走了,没问题么?
确实对于前端来说,如果操作系统环境不受信任,任何加密都是无意义的。
但是又不是所有安全问题都出在操作系统层面上
nnnToTnnn
2019-11-01 10:57:24 +08:00
@Pastsong 举个攻击 HTTPS 的例子。

A 客户端 用的 Google 浏览器 - 网址: xxx.com IP 1.1.1.1

C 中间人 IP: 2.2.2.2

攻击方案一

------ 1. 拦截用户的 dns 请求,将 xxx.com 请求跳转到 xxx.cn
------ 2. 将 xxx.com 降级为 http
------ 3. xxx.cn 用正常的证书进行签发,然后代理 xxx.com 的 http 请求
------ 4. 用户访问 xxx.com ,即可获取解密出来的所有数据

攻击方案二

----- 1. 在 A 客户端中植入根证书
----- 2. xxx.com 解析到 2.2.2.2 ,反向代理到 xxx.com
----- 3. 用户访问 xxx.com ,即可获取解密出来的所有数据


B 服务端 IP: 1.1.1.1 端口 443



不知道你们为什么会觉得 https = 安全?
keepeye
2019-11-01 11:00:23 +08:00
有的客户就是要求记住用户名+密码,下次不用手动输入,不是要记住登录状态,请问各位大牛前端该怎么实现才绝对安全?
@Yvette
@hakono
我们做开发的呢,不要总是我以为,很多时候要面对客户以为,给钱的是大爷😭 当然如果有个靠谱的产品在前面怼客户那也行
ihciah
2019-11-01 11:01:02 +08:00
贵司是出 ctf 题的吗
fumichael
2019-11-01 11:01:51 +08:00
我觉得加盐加密更多是为了

部分用户不同网站设置密码都是一样的 + A 网站密码泄露的情况下,避免了 BCDEFGH…其他网站被一锅端了

同理,如果你把卡的密码都设置成一样,知道你一张卡的密码就知道了你其他卡的密码

加盐加密就对用户的原始密码保护了,减少了碰库的可能

以上都是我个人的想法,可能也有不对,仅供参考

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/614961

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX