【问题标题】:Chrome Extensions and CookiesChrome 扩展程序和 Cookie
【发布时间】:2015-05-26 09:39:14
【问题描述】:

我创建了一个 chrome 扩展程序,并尝试使用它来允许用户登录系统。我正在使用 chrome.cookies.set 设置一个 cookie,然后我尝试用 PHP 读取它 - 但 PHP 似乎从未将 cookie 视为已设置。我已经手动验证了 cookie 存在,但 isset() 似乎总是返回 false。

chrome.cookies.set({"name":"username","url":"http://127.0.0.1","domain":null, "path": "/", "value":userName},function (cookie){
  console.log(JSON.stringify(cookie));
  console.log(chrome.extension.lastError);
  console.log(chrome.runtime.lastError);
});

这就是我设置 cookie 的方式,这就是我尝试使用 PHP 获取它的方式:

<?php
    if(isset($_COOKIE["username"])){
        echo "Logged in";
    }
?>

有什么想法吗?这让我困惑了一段时间。

【问题讨论】:

  • 您可能想尝试在 cookie 中添加过期日期:"expirationDate" : date + 1000000`。
  • 感谢您的回复,我已尝试设置类似 "expirationDate" : (new Date().getTime()/1000) + 3600 的过期日期,但 PHP 仍然无法看到它已设置。
  • 我不熟悉cookie api,但是你的php代码不应该是$_COOKIE["name"]吗?
  • 我不这么认为,那段代码将cookie的名称设置为“用户名”。无论如何,我尝试将 php 更改为$_COOKIE["name"],但没有任何乐趣。我什至尝试从单独的 login.php 脚本设置 cookie - 正在创建 cookie,因为我可以用 chrome 看到它,但由于某种原因 PHP 根本无法验证它。起初我认为这是扩展范围的问题,但它肯定应该从一个单独的 php 文件中工作吗?

标签: javascript php google-chrome cookies google-chrome-extension


【解决方案1】:

好吧,我从来没有解决过我在使用 cookie 时遇到的确切问题,我决定改用 OAuth 进行身份验证。

【讨论】:

    猜你喜欢
    • 2019-10-11
    • 2015-08-30
    • 2010-11-29
    • 2014-02-07
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多