【PHP】如何将Cookie发送到其他域?(Translated: [PHP] How to send cookies to a different domain?)
在打开iframe内的内容URL时,发生了cookie消失的问题。
由于iframe内运行在不同的域,无法将cookie发送到不同的域,因此通过经过不同的域显示的页面中的cookie会消失。
将cookie发送到其他域的方法。
在使用PHP的setcookie()函数设置cookie时,可以通过参数设置安全等详细信息。
本次设置了能够将cookie发送给其他域名的参数,同时保持最基本的安全性。
setcookie('name', 'value', [
'path' => '/',
'secure' => true,
'httponly' => true,
"samesite" => 'None',
]);
以下是设定中的参数意义。
路径:在服务器上启用Cookie的路径。
如果设置为’/’,则可在该域名的所有子路径下使用。
secure: 设置为true时,只有在https连接的情况下才会发送cookie。
将httopnly设置为true后,仅允许通过HTTP访问cookie,无法从JS等进行访问。
在发送请求到另一个域名时,可以设置cookie的samesite属性。将其设置为None可以允许发送cookie到另一个域名。
如果将samesite设置为None,则安全性将变得非常低,因此需要同时设置其他参数,如secure和httponly,以确保最小限度的安全性。