如果有任何钩子或更改用于在 drupal 7 的设置 cookie 中添加“SameSite=none”参数。
1417 次
1 回答
1
这个有点棘手,因为 PHP 5 没有 SameSite:None 的标志;安全的; 使用 setcookie() 或 setrawcookie() 时。PHP 7 可以,但是由于这些函数不会转义分号,我们可以将它添加到 'domain' 标志中,它会被设置...
重要提示:此 hack 将在 PHP 7.3 中中断。如果您要使用它,至少将其包装在 PHP 版本检查中,例如if (PHP_VERSION_ID < 70300) { ... } else { ... }
setrawcookie('cookie_name', 'cookie_value', time() + 7700, '/', 'example.com; SameSite=none;');
对于早期版本的 PHP,可以直接设置 header():
header('Set-Cookie: cookie_name=cookie_value; SameSite=None;');
从 PHP 7.3.0 开始, setcookie() 方法在其选项中支持 SameSite 属性,并将接受 None 作为有效值。见https://www.php.net/manual/en/function.setcookie.php
setcookie($name, $value, [
'expires' => time() + 86400,
'path' => '/',
'secure' => true,
'samesite' => 'None',
]);
于 2020-04-02T19:16:14.290 回答