繁体   English   中英

如何在子域上访问Cookie

[英]how to access cookies on subdomain

我想访问子域上的cookie,

cookie在主域上运行良好,但无法访问子域上的cookie,我创建了两个文件testing_1.php和testing_2.php,这些cookie是通过testing_1.php设置的

$domain = '.localhost';
session_set_cookie_params(0, '/', $domain);
session_start();

$_SESSION['name'] = 'Jogesh';
setcookie("f_name", "jogesh", 0, "/", "$domain");

if( isset( $_COOKIE["f_name"] ) )
    echo "Set Cookie on 1: " . $_COOKIE["f_name"];
else
    var_dump(setcookie("f_name", "jogesh", 0, "/", "$domain"));

在上面的代码中,我也尝试访问会话,但只是获取了会话ID,如果可能的话,我想在子域上访问$_SESSION['name']

现在testing_2.php在这里

session_start();

if( isset( $_SESSION['name'] ) )
    echo "Session Name: " . $_SESSION['name'];
else
    echo "Session not set!";

if( isset( $_COOKIE["f_name"] ) )
    echo "Cookie Name: " . $_COOKIE["f_name"];
else
    echo "Cookie not set!";

这两个文件在localhost上都运行良好,但是当我尝试从demo.localhost访问文件demo.localhost ,无法访问任何内容,请让我知道我做错了什么,

如果要在www.example.com上创建它们,则无法从cdn.example.com读取它们。 您必须在example.com上创建它们。 同样,您无法使用JavaScript和Visa-verse读取PHP创建的Cookie。 它还取决于浏览器。 tsk.tr存在问题。 您必须查看浏览器列表http://mxr.mozilla.org/mozilla-central/source/netwerk/dns/effective_tld_names.dat?raw=1也许我愿意,因为浏览器将localhostsubdomain.localhost处理为完全不同的域名。 在实际环境中尝试使用该代码或使用hosts文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM