Spring cloud微服务安全实战-3-12session固定攻击防护




getSession这个方法里面的逻辑,会根据传过来的cookie里面带的JSessionID在你的服务器上去找一个session,如果能找到,就用这个已经存在的session,这个getSession就返回这个已经存在的session吗,如果没有找到就创建一个新的session并返回回来。这句是getSession里面的逻辑

根据getSession的逻辑就发明了这样的一种共计方式叫做session固定攻击。


防止session的固定攻击,设置为false,找不到session默认就返回一个空不回去创建一个session

如果session不为空,让session失效。

下面在设置为true,上面已经把之前的session失效掉了。所以这里再调用session就没有可用的sesion了。它回再创建出一个新的session来。也就是说每次你登陆成功以后。你的session里面的信息和你之前的session已经不是一个session。
如果你这么写代码的话,就可以避免掉session固定攻击。

查看返回的cookie里面的参数

通过jSessionID和服务器上的session绑定起来的。


path属性和这里的域名加路径合起来 就是path属性。当你访问一个什么样的路径的时候,我的cookie会被携带发送过去。
域名是分级的,一级域名二级域名等 如果在域名这里填写的是顶级域名,那么访问二级域名的时候 这回带上cookie。
如果域名这里你明确的写的是www.imooc.com 那么就只有访问www的才会带上这个cookie。你放img.imooc.com就不会发出去这个cookie
路径如果写的 /a ,那么只有访问带有/a的路径才会带上cookie

Secure是说我当前存起来的这个cookie只有我在用https这个链接去发请求的时候,才能被发出去。如果不是https的 cookie就不要发。这也是为了保证一个安全性。


httpOnly就是说当前这个请求不能被javascript脚本来读,。只能被浏览器自身来发送。不能通过写一个js来读到这个cookie。这也是为了防止跨站脚本攻击。


到期谁建是有效期是多少。默认就是浏览回话结束。如果你把有效期设置成-1的话。cookie就立马失效了。

结束

猜你喜欢

转载自www.cnblogs.com/wangjunwei/p/11933116.html