接下来要看黑马视频学一下 jwt 和 sa-token ,再结合 脚手架看一下,debug一下,做好笔记总结
之前hg是用shiro,
jwt 缺点,以及对应的解决方案,,
哦,jwt 是通过数字签名校验来实现 token 校验的
之前我做那个 tkg 也做了 数字签名校验, 就是防止 银行卡号啥的 被篡改啥的,反正就是防止 被黑客篡改,做了那个数字签名校验,每次请求接口都会发一个数字签名,还有一个数字签名对应的原始字符串,那个原始字符串就是整个请求参数的json对象字符串。
然后服务端好像是搞了一个拦截器,对数字签名进行解析校验,
还有一个问题就是公钥私钥,
反正当时去了解了数字签名,但是做完又忘记了。
最后的问题就是来到, 私钥 放在前端 哪里是安全的, 我记得我是放在了一个配置文件里,但是当时我问了公司的前端开发,前端有啥地方是安全的,不会从浏览器上能看到的啥的,他也不知道,
私钥 放 前端, 前端加密出签名, 这样保证了 请求数据的来源是 官方前端,不是黑客前端
然后服务端公钥解密验证,证明这份数据是来自 正确前端加密的,
只要黑客拿不到私钥,那他就不能搞到正确的数字签名, 就不能通过数字签名的公钥解析后比对的校验了,
但是黑客能不能不拿到私钥的情况下去改变私钥要加密的内容,从而篡改请求数据,所以还是不要手填银行卡号比较好,存db 里,然后用户选择,我再根据选择id 从db 查出来,这样黑客就需要去修改db 里的银行卡号了,