2012-03-13 161 views
0

PHP手册具有setcookies语法这样在哪里存储PHP cookies?

setcookie ($name, $value, $expire, $path, $domain, $secure, $httponly) 

据说cookie被存储在远程客户端侧。语法有路径var,如果应用的cookie将被存储在服务器端。

现在假设我提到路径var“/”。而用户名为丹麦语日志中,我创建了一个用户名的饼干记得我的功能

setcookie('site_username','denish',time + 3600,'/','.xyz.com') 

现在每个不同的用户登录。是否过来写以前的cookie或新的cookie时会被创造出来的?

如果我想创建一个cookie客户端并且想要应用$ domain var,该怎么办?可能吗?

回答

0

你是不正确的,在使用路径参数从manual

其中的cookie将可在服务器上的路径。

Cookie总是存储在客户端的机器上。

+0

是的,你是对的。我不明白路径。谢谢。 – 2012-03-13 08:27:26

4

Cookie始终存储在客户端中。该路径仅限制远程页面可访问所述cookie的限制。例如,如果您使用路径“/ foo /”设置cookie,则只有目录“/ foo /”中的页面和“/ foo /”的子目录才能读取cookie。

该域名只对子域名有相同的限制。

具有相同名称的饼干将相互覆盖,是的。

我相信,由于安全问题,您无法将cookie设置为除您所在页面以外的其他域。

+0

谢谢@mroselli – 2012-03-13 08:29:39

0

如果您使用不同的$path s,您可以拥有两个同名的cookie。

setcookie("foobar", "root", time()+3600, "/"); 
setcookie("foobar", "test", time()+3600, "/test"); 

第一饼干(根)可在该领域使用的任何$path,除了/test/*进行访问。在/test/*中,只能访问第二个cookie。这两个Cookie都由用户的浏览器存储,并且浏览器根据哪个Cookie的$path与当前URL匹配来决定提供哪个Cookie。