在PHP中检测会话cookie是否正确设置

4

我有一个网站,使用PHP会话启用登录等功能。该网站在另一个域中的iframe中运行(因为客户需要在站点周围使用他们自己的通用框架)。这需要启用第三方cookie才能使会话起作用。

如何在PHP中检测会话cookie是否正确设置以通知禁用第三方cookie的用户?

似乎不能使用$_SESSION或session_id(),因为它们即使没有cookie也会被设置,并且在页面加载之间不会保存。

2个回答

7
您可以尝试isset($_COOKIE[session_name()]);

在$_COOKIE被设置之前,您必须刷新页面。 - icc97

0
if ( isset($_COOKIE["PHPSESSID"]) && !empty($_COOKIE["PHPSESSID"]) ) {
  doStuff();
}

如果你正在使用empty(),那么这里的isset()是多余的。 - Mike

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接