请问下 前端网站,我需要保存我的账号密码,以便下次直接登录进入后台和自动填充,但是保存在localstorage,密码总不能明文吧,请问 如何解决 或者有什么解决方案
请问下 前端网站,我需要保存我的账号密码,以便下次直接登录进入后台和自动填充,但是保存在localstorage,密码总不能明文吧,请问 如何解决 或者有什么解决方案
举一个例子:
用户登陆后,后台通过set-cookies给用户设置了cookies,之后用户每次请求都会带上这个cookies,后台也会验证这个cookies,若这个cookies验证通过,那就正常返回数据,不然就接口返回一些特殊的状态,前端就跳转到登陆页面。
用户登陆一次后,只要cookies不失效,就不用再次登陆。
密码保存在前端是一个很危险的过程,当你拿着密码通信的时候,任何被加密的前端密码在给后端的时候都相当于没有加密过.
PS: 我曾经写爬虫的时候,遇到过一个前端加密接口请求的sign(你可以把这个原理看成是密码,sign如果不对后端不给数据),然后我把压缩混淆过的JS下载到本地利用charles的map_local功能,在代码里面打上断点,就直接破解了他的加密方式,然后用爬虫模拟加密方式发送请求就抓取到数据了.
所以,前端加密是一个不靠谱的行为,如果安全度要求不高,建议使用后端语言在浏览器set-cookie的方法来做身份验证
用户输入账号密码登录后,服务端返回一个唯一的token记录为当前账户,保存在localstorage,每次请求接口,传入这个token,让服务端去匹配当前账户,这样告别了session,前后端完全分离
10 回答11.7k 阅读
2 回答3.2k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
3 回答868 阅读✓ 已解决
3 回答1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
永远都不要保存在前端,你可以像laravel一样弄一个remember token存进cookie,也可以干脆就把session id长期存到cookie 里,然后把用户信息保存在session 里