我刚刚在Chrome浏览器中收到一条警告,我设置cookie的方式需要使用“ SameSite”属性进行更新。我在这里找到此php页面:https://wiki.php.net/rfc/same-site-cookie
基于此,我将setCookie更新为:
setcookie("foo", $res["ID"] . "|" . $_POST["bar"], time() + (86400 * 30), "/", $_SERVER['HTTP_HOST'], false, false, "Lax"); // 86400 = 1 day
来自
setcookie("foo", $res["ID"] . "|" . $_POST["bar"], time() + (86400 * 30), "/"); // 86400 = 1 day
我的灯项目托管在AWS上,但我也在本地机器上进行测试。
我的问题是:
(a)我正确地做到了吗?我通常会在来到这里之前先进行测试,但是在这种情况下,测试意味着部署到AWS并从那里进行调试,这很繁琐,并且可能使我的站点不稳定。
(b)在PHP中,有什么方法可以只设置SameSite =“ Lax”,同时保留domain,secure和httponly参数的默认值?
答案 0 :(得分:0)
我能够使用关联的options
数组解决两个问题
$options = array('expires' => (time() + (86400 * 30)), 'samesite' => 'Lax');
setcookie("writer", $res["foo"] . "|" . $_POST["bar"], $options);