美文网首页
chrome新版本禁用第三方cookie的SameSite问题

chrome新版本禁用第三方cookie的SameSite问题

作者: driver_ab | 来源:发表于2021-05-14 18:15 被阅读0次

    1、 就是在chrome://flags/里设置禁用SameSite,(重启浏览器);

    2、 后端进行设置 SameSite=none并且设置secure;(就是用https)(看后端框架能否支持此设置);

    3、使用Nginx配置SameSite;

    Nginx的proxy_cookie_path功能,具体配置方法(在location节点下加入,配置后重载Nginx):

    如果站点Cookie所在目录在根目录/下,设置如下:

    proxy_cookie_path / “/; secure; SameSite=None”;

    如果站点Cookie所在目录在abc目录下,设置如下:

    proxy_cookie_path /abc/ “/abc/; secure; SameSite=None”;

    如果无法确定站点Cookie目录,可使用Chrome开发者工具,监测Network下网络请求,找到Response Headers中set-cookie属性值,该值中有path属性值即为Cookie目录,也即上文要替换的/或者/abc/值。

    配置示例:

    server {

        listen 443 ssl http2;

        server_name www.demo.com;

        # add_header X-XSS-Protection "1; mode=block";

        # add_header X-Frame-Options SAMEORIGIN;

        add_header Strict-Transport-Security "max-age=15768000";

        location / {

            root /var/www/html;

        }

        location /api {

            proxy_pass http://localhost;

            proxy_set_header Host $host;

            proxy_set_header X-Real-IP $remote_addr;

            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

            # 配置位置如下

            proxy_cookie_path / "/; httponly; secure; SameSite=None";

        }

    }

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    2和3这两种方式在以后新版浏览器中可能会失效,因为浏览器可能将全面禁止三方cookie,到时候怎么设置都不起作用了。。。

    扩展阅读:

    前端的withCredentials属性:

    XMLHttpRequest.withCredentials 属性是一个Boolean类型,它指示了是否该使用类似cookies,authorization headers(头部授权)或者TLS客户端证书这一类资格证书来创建一个跨站点访问控制(cross-site Access-Control)请求。在同一个站点下使用withCredentials属性是无效的。

    ————————————————

    版权声明:本文为CSDN博主「梅花屋主」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

    原文链接:https://blog.csdn.net/weixin_46653284/article/details/109615544

    相关文章

      网友评论

          本文标题:chrome新版本禁用第三方cookie的SameSite问题

          本文链接:https://www.haomeiwen.com/subject/gvzqjltx.html