iframe跨域带cookie问题, Cookie 的 SameSite 属性

来源:赵克立博客 分类: 网络安全 标签:PHP发布时间:2021-10-09 11:16:46最后更新:2021-10-09 12:57:29浏览:1617
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2021-10-09 12:57:29
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

问题描述

在页面中使用iframe嵌套另一个主域的页面时,cookie带不过去,登陆状态丢失,但单独打开地址确实是可以登陆

详情查看 http://www.ruanyifeng.com/blog/2019/09/cookie-samesite.html

apache设置

Header always edit Set-Cookie (.*) "$1; SameSite=Lax"

nginx设置

location / {    # your usual config ...
    # hack, set all cookies to secure, httponly and samesite (strict or lax)
    proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
}

php session修改

ini_set('session.cookie_samesite', 'None');
// 或
session_set_cookie_params(['samesite' => 'None', 'secure'=>true]);

php>=7.3

setcookie($name, $value, [
    'expires' => time() + 86400,
    'path' => '/',
    'domain' => 'domain.com',
    'secure' => true,
    'httponly' => true,
    'samesite' => 'None',
]);

php<7.3

//通过header设置
header("Set-Cookie: key=value; path=/; domain=example.org; HttpOnly; SameSite=Lax");
//通过setcookie方法设置,利用path传入"/;samesite=None",这是利用php的一个bug,不会对path里面的“;”进行处理
setcookie('cookie-name', '1', 0, '/; samesite=strict');



微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python