mindoc-org / mindoc

Golang实现的基于beego框架的接口在线文档管理系统
https://mindoc.com.cn/docs/mindochelp
Apache License 2.0
7.28k stars 1.9k forks source link

登录密码明文传输 #837

Open DemoLiang opened 1 year ago

DemoLiang commented 1 year ago

请按照一下格式提交issue,谢谢!

  1. 你当前使用的是哪个版本的 MinDoc(godoc_linux_amd64 version)? v2.1

  2. 你当前使用的是什么操作系统? centos

  3. 你是如何操作的? https://mindoc.com.cn/login 随意输入账户名和密码,输入对验证码,开f12 查看请求,发现登录是明文传输的 image

  4. 你期望得到什么结果? 1.登录密码加密传输

  5. 当前遇到的是什么结果? 登录密码明文传输的

ugrg commented 1 year ago

关于这个,我建议你直接使用https加密传输就行了。再增强其实意义不大,无非就是在JS里加密一次,再到服务端解密。 但能看到你这个截图的,完全有机会截取你输入框的内容,再加密一次也无意义。 而HTTPS是在数据发送时对传输的内容进行加密的,一但数据离开浏览器进入网络层,就全是密文了。 你这里看到的明文是浏览器在打包发送前的原始数据。你可以试试用录包软件录一下网络包看看,你就会明白的。

DemoLiang commented 1 year ago

关于这个,我建议你直接使用https加密传输就行了。再增强其实意义不大,无非就是在JS里加密一次,再到服务端解密。 但能看到你这个截图的,完全有机会截取你输入框的内容,再加密一次也无意义。 而HTTPS是在数据发送时对传输的内容进行加密的,一但数据离开浏览器进入网络层,就全是密文了。 你这里看到的明文是浏览器在打包发送前的原始数据。你可以试试用录包软件录一下网络包看看,你就会明白的。

我当时想了一下是这样的,就是HTTPS确实可以,不过我们系统的话是在内网,然后没有部署HTTPS,所以就是正常抓的包都是看得见的,然后考虑加密是考虑说,用一个密钥对来加密,服务端随机生成一个公钥5分钟有效,然后加解密用这一个密钥对来操作。当然跟HTTPS 效果一样。