如题,有点2的问题,可能我理解不够深入,望诸位大神赐教
4 回答
慕容3067478
TA贡献1773条经验 获得超3个赞
JWT
有两种用法:
- 防止用户恶意篡改数据: 比如你有两个服务器A和B, 由A下发了一个Token给用户, 然后要由用户把这个Token提交给B服务器, 然后用JWT可以保证用户没有把Token修改成其它的值, 这样就免去了服务器A和B之间的校验过程, 这个操作只需要一步Hash操作即可完成, 因为只是防止篡改, 并没有涉及到加密.
- 加密传输数据: 这个其实就是利用非对称加密操作, 把公钥放在
JWT
的明文中, 然后服务器端用自己的私钥进行解密操作.
说白了JWT
只是把我们常用的两种操作标准化, 并没有新增加任何特殊的算法.
肥皂起泡泡
TA贡献1829条经验 获得超6个赞
首先这不是JWT的问题,而是http通讯的安全问题,总所周知http是采用的明文通讯,所以很容易就能够被窃取到http通讯报文。现在网站大多是http通讯,那也都面临着cookie被截取的问题,JWT同理。
解决办法
首先可以从通信层加密,比如采用https,当然https也不是绝对安全的,所以从代码层面也可以做安全检测,比如ip地址发生变化,MAC地址发生变化等等,可以要求重新登录。
添加回答
举报
0/150
提交
取消