用户注册时的密码安全性校验应该在前端还是后端完成?

2023-08-01 11:35:29 +08:00
 githmb

如果是在前端做校验,只向后端提交哈希值,那用户是不是可以强行设置弱密码?

如果在后端做校验,那就得发送原文,没有 https 的情况下密码又容易泄露

2902 次点击
所在节点    程序员
34 条回复
cwcc
2023-08-01 11:39:31 +08:00
关键词:非对称加密。
NessajCN
2023-08-01 11:41:13 +08:00
那你强制 https 呗...
echo1937
2023-08-01 11:41:16 +08:00
脱离 https ,讨论泄密没意义。
githmb
2023-08-01 11:41:57 +08:00
@cwcc 额,一个注册没必要搞这么多次请求吧
8355
2023-08-01 11:47:58 +08:00
2023 年了 https 还不是标配?
无论前端做还是后端不都应该上 https ?
picone
2023-08-01 11:49:28 +08:00
前端校验。用户对自己的输入负责,自行设置弱密码对业务造成影响。

非对称加密就更好了,但都到这步了,为啥不上 HTTPS 呢?
githmb
2023-08-01 11:50:22 +08:00
@8355 想想保密项目,内网项目
bthulu
2023-08-01 11:52:50 +08:00
前端校验, 弱密码才能方便用户. 安全性要靠自己来保证, 不要指望用户. 即便用户设置 123456 这样的密码, 也要能保证用户的安全. 可以配合用户常用 IP, 常用手机, 用户所在地, 用户大数据画像来确保用户安全, 不要靠强密码, 这会极大的降低用户体验.
cwcc
2023-08-01 11:55:58 +08:00
最简单的方案就是前端 js 里面带上公钥,用 JSEncrypt 直接加密传到后端用私钥解密就行了。其他复杂的各种认证、密钥交换算法如果有兴趣也可以研究一下。总之为了加密而加密行不通,系统总有薄弱点,但加密传输目前容易做到的应该就是非对称加密和 HTTPS 通信了。
GeruzoniAnsasu
2023-08-01 11:57:04 +08:00
@githmb 那种项目根本就不需要做设置密码的功能,管理员密码只允许物理机本地修改(开变更单进机房改)
liveoppo
2023-08-01 12:04:18 +08:00
通过 https 送到后端校验。尽量部署 https 。
thinkershare
2023-08-01 12:06:22 +08:00
没有 HTTPS ,你这种前端加密没啥意义。
deplivesb
2023-08-01 12:09:54 +08:00
安全性校验 ,我理解应该是比如密码位数,是否大小写等规则校验,这个东西不是前端就可以么?为啥还要给后端
adoal
2023-08-01 12:14:42 +08:00
@githmb 如果是内网项目,让甲方出台制度,用户必须签署“我草忒马的虽然心里不爽但是既然组织上规定弱密码造成的安全事故责任自负了那我就乖乖执行我承诺我不使用弱密码如果我欺骗组织就天打雷劈”协议。
adoal
2023-08-01 12:19:39 +08:00
世间安得双全法,不负如来不负卿。你有不想让 geek 用户绕过前端的需求,又有不发送明文的需求,又不用 https ,又嫌非对称加密“一个注册没必要搞这么多次请求吧”……想啥呢?
githmb
2023-08-01 12:20:45 +08:00
@cwcc 这种内置公钥确实是一种好办法
githmb
2023-08-01 12:22:28 +08:00
@adoal 9 楼已有答案
chenjia404
2023-08-01 12:23:24 +08:00
在前端做校验就够了,如果用户可以强行设置弱密码,那就说明他有一定的技术能力,就不用担心他的安全性问题了。
adoal
2023-08-01 12:27:38 +08:00
@githmb #9 说的不就是#1 的具体实现?然而你在#3 里对#1 表示没必要,又说#17 里回复我的#15 比哦啊哦是#9 是答案……这是啥姿势?
nuk
2023-08-01 13:36:02 +08:00
加个 2FA ,安全性直接加一百倍

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

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

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

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

© 2021 V2EX