在php
中,我使用setcookie
来创建cookie,正如文档所说,如果您不指定path
参数,cookie将在当前目录及其所有子目录中可用。但我需要cookie将只在当前目录中可用,而不是在其子目录中。我怎样才能做到这一点呢?
//it is available in current directory and all of its sub-directories:
setcookie("TestCookie", $value);
//with the same effect:
setcookie("TestCookie", $value,/current-directory/);
我想排除/current-directory/*
非常感谢
据我所知,这是不可能的
但是您可以将您的信息存储在$_SESSION
变量中,并使用$_SERVER["REQUEST_URI"]
自己进行路径检查。
路径选项
控制何时发送Cookie头的另一种方法是指定路径选项。与domain选项类似,path表示在发送Cookie头之前必须存在于被请求资源中的URL路径。这种比较是通过逐个字符地比较选项值与请求URL的开头来完成的。如果字符匹配,则发送Cookie报头。示例:
Set-Cookie: name=Nicholas; path=/blog
在这个例子中,路径选项将匹配/blog,/blogroll等;任何以/blog开头的内容都是有效的。请注意,只有在验证了域选项后才会进行这种比较。path选项的默认值是发送Set-Cookie报头的URL的路径。
来源:https://www.nczonline.net/blog/2009/05/05/http-cookies-explained/