vue项目整理问题合集

vue项目整理问题合集

1、密码加密是否有意义?

答:既然前端的代码是可见的,那么密码加密是否有意义?

目前使用HTTPS是唯一负责的方式。但是在HTTP下,无论怎样劫持流量都有可能发生,而不管前端是否加密,都可以轻易登录成功!!这个时候保护密码明文是否有意义?有人认为前端加密没有意义,考虑的是这个加密对本站的安全性没有提升;但如果是从保护用户的角度出发,用户实行多站点共享密码。如果能保护密码明文,至少降低了该用户在其他网站(甚至是HTTPS的网站)被一锅端的风险。这说明密码加密是有意义的。

有人说HTTP流量可以直接主人脚本,可以直接拿到用户输入的密码,这点没有错。但是任何事都不是便宜的,这个注入脚本也是需要付出相应的代价,只要能提高一点点门槛就不能说没有意义,很多时候都是收益和成本之间的抗衡。

即使在HTTPS环境下,使用前端加密并非没有意义,甚至可以保护用户隐私而言有很大价值。

“前端加密不是完全没有意义,而是不能改善当前网站本身的安全性,不能因此降低后端的安全等级。这样做只能防止被窃听到原文的密码被攻击者用在社会学攻击上。”

“密码在前端加密完全没有意义,对密码系统的安全性不会有任何的提高,反而会引发不必要的麻烦。”首先,做前端开发的人员需要知道,前端系统的控制权是完全在用户的手里,换言之,前端做什么事情,用户有完全的控制权。

前端做了md5,后端就不用做了,这个做法有什么后果?当系统的数据库泄露,黑客就拿到了每个用户的密码MD5的值,但黑客同时知道密码是在前端进行哈希的,所以他不需要爆破出该MD5的原文是什么,而是“直接修改客户端向服务器发送的请求,把密码字段修改成数据库中MD5”就可以了。所以前端是不是做了加密,后台使用安全的哈希算法对内容进行再次转换是非常必要的。(MD5可不行,要用bcrypt)

参考方向:https://blog.csdn.net/xl_lx/article/details/79075386