【问题标题】:Need to check if a session cookie is being denied需要检查会话 cookie 是否被拒绝
【发布时间】:2013-10-19 06:44:10
【问题描述】:

我有一个 iframe 正在为 Facebook 应用程序设置 cookie 的情况。我们面临的问题是,在 IE 中,您可以禁用第三方 cookie,这会阻止会话 cookie 被设置,从而破坏应用程序。

如果有人有一个解决方案可以让我们在这种情况下继续使用会话 cookie,或者可能有一个编码解决方案来检测 cookie 是否被接受,那就太好了!

【问题讨论】:

  • 您的服务器无法检测到第 3 方 cookie,因为客户端浏览器永远不会将第 3 部分 cookie 与请求一起发送。那会彻底违反 cookie 的安全性。您需要客户端代码,并希望 cookie 没有设置为 http-only。
  • 如果我依赖 javascript,我会向没有启用 javascript 的人敞开大门。我更喜欢用 php 来做这个

标签: php session cookies


【解决方案1】:

这就是诀窍:

if (empty($_COOKIE["CHECKCOOKIE"]))
{
    // Check for cookie request
    if (isset($_REQUEST["COOKIECHECK"]))
    {
        // Error
        die("ERROR");
    }

    // Set the check cookie
    setcookie("CHECKCOOKIE", "YES");

    // Redirect back to itself
    header("location: " . $_SERVER["REQUEST_URI"] . "?COOKIECHECK");
}

【讨论】:

    猜你喜欢
    • 2011-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 2011-03-24
    • 2018-09-30
    • 2014-06-15
    相关资源
    最近更新 更多