• 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就立马失效了。

    结束

  • 相关阅读:
    linux安装教程
    html学习
    vscode编程nodejs初始安装
    Python 字符串前面加u,r,b的含义
    vs code中自动添加注释插件koroFileHeader
    *args和**kwargs用法
    python中map函数的用法
    Python中虚拟环境venv的基本用法
    ubuntu下安装git提示无root权限
    git连接gitee笔记
  • 原文地址:https://www.cnblogs.com/wangjunwei/p/11933116.html
Copyright © 2020-2023  润新知