TOKEN 后端进行加密,前台接收后每次请求放在头部发给后台做解密效验
有以下疑惑:
1.TOKEN 放在头部的话 浏览器打开开发者工具是可以看到请求头上的TOKEN值的,很容易就获取到了。
2.被人拿到token值不就可以为所欲为了吗,那后台解密还有啥用?,和传一个普通的字符串有啥区别,被截取到就完蛋了?
3.在网上有看到说https 看不到请求头的token值,我试了下可以看到啊
哪位大神解答一下,困扰了很久也找不到答案!
抓包工具的确是可以看到,https可以阻止中间人嗅探,但是不能阻止本机抓包。
要安全的话,可以每次服务器随机生成一个数,客户端用这个数和提交的参数放在一起做签名,服务器再验证,这么做可以使得用户相同参数的请求只能提交一次,并且不能修改参数再次提交。
在客户端没有破解的前提下,会比较安全。
可以每次请求生成一个动态的口令,放在session中,后台 从session中获取口令解密,做到一次一加密
拿到一个加过密的字符串,没有密钥解不开
jwt本身就是加密了,他获取了又怎样
楼主有解决方案吗
楼主有解决方案吗
楼主有解决方案吗
楼主担心的问题是防重放攻击,可以使用时间戳+nonce随机值,保证请求只被执行一次,具体方案请百度。
JWT的使用场景是:
(1)微服务+分布式集群部署情况下,一个jwt可以在任意服务器上使用,不用redis或者数据库等储存后共享,即单点登录场景。
(2)另外可以防止CSRF攻击,这是主要目的之一。
(3)避免cookie和session的一些弊端,如内存消耗等。
至于F12可以看到token,说白了,只有在你使用的电脑上才能看到,私人物品借给别人使用,这属于物理层面的攻击了hah
获取之后可以直接访问api啊