在php
中,我使用setcookie
创建Cookie,正如docs所说,如果您未指定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/*
非常感谢
答案 0 :(得分:0)
据我所知,这是不可能的。
但您可以将信息存储在$_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/