相关疑难解决方法(0)

在子域和域之间共享cookie

我有两个问题.我理解,如果我.mydomain.com在cookie中指定域(带有前导点),则所有子域都可以共享cookie.

可以subdomain.mydomain.com访问在mydomain.com(没有www子域)中创建的cookie 吗?

如果创建的话,可以mydomain.com(没有www子域)访问cookie subdomain.mydomain.com吗?

cookies subdomain http

368
推荐指数
5
解决办法
25万
查看次数

带有显式域的localhost上的Cookie

我一定错过了一些关于cookie的基本知识.在本地主机上,当我设置在服务器端的cookie,明确指定域为localhost(或.localhost).某些浏览器似乎没有接受cookie.

Firefox 3.5:我在Firebug中检查了HTTP请求.我看到的是:

Set-Cookie:
    name=value;
    domain=localhost;
    expires=Thu, 16-Jul-2009 21:25:05 GMT;
    path=/
Run Code Online (Sandbox Code Playgroud)

或者(当我将域设置为.localhost时):

Set-Cookie:
    name=value;
    domain=.localhost;
    expires=Thu, 16-Jul-2009 21:25:05 GMT;
    path=/
Run Code Online (Sandbox Code Playgroud)

在任何一种情况下,都不会存储cookie.

IE8:我没有使用任何额外的工具,但cookie似乎也没有存储,因为它不会在后续请求中发回.

Opera 9.64: localhost和.localhost都工作,但是当我检查Preferences中的cookie列表时,域名设置为localhost.local,即使它列在localhost下(在列表分组中).

Safari 4: localhost和.localhost都可以工作,但它们在Preferences中始终列为.localhost.另一方面,没有显式域的cookie,它显示为localhost(无点).

localhost有什么问题?由于存在这么多的不一致,必须有一些涉及localhost的特殊规则.另外,我不完全清楚为什么域名必须以点为前缀?RFC 2109明确声明:

Domain属性的值不包含嵌入点或不以点开头.

为什么?该文件表明它必须对安全做些什么.我不得不承认我没有阅读整个规范(稍后可能会这样做),但听起来有点奇怪.基于此,在localhost上设置cookie是不可能的.

cookies setcookie

169
推荐指数
7
解决办法
19万
查看次数

为什么asp.net不会在localhost中创建cookie?

好的,这真的有点开始让我烦恼.我有一个简单的Web项目设置位于:"C:\ Projects\MyTestProject \".在我的机器上的IIS中,我已经将虚拟目录映射到此位置,因此我可以在本地运行我的站点(我知道我可以从Visual Studio运行它,我更喜欢这种方法).我已将此虚拟目录命名为"mtp",我通过http://localhost/mtp/index.aspx访问它.这一切都很好.

但是,每当我尝试创建一个cookie时,它根本就不会被写出来?我在FF3和IE7中试过这个,它只是简单的不会写出cookie.我不明白.我的主机文件中有"127.0.0.1 localhost",我真的无法想到我能做的其他事情.谢谢你的建议.

詹姆士

cookies localhost

42
推荐指数
3
解决办法
3万
查看次数

php setcookie域名

某些应用程序(不是我编写的,而不是PHP编写的)为域"www.domain.com"创建了一个cookie.

我想替换那个cookie.所以在php我做了:

setcookie('mycookie','mydata',time() + 2*7*24*60*60,'/','www.domain.com', false);
Run Code Online (Sandbox Code Playgroud)

但是,为域创建了生成的cookie:".www.domain.com",请注意点"." 领先于领域.

所以它不会取代它,它会创建另一个cookie.我能做什么?

php cookies setcookie

22
推荐指数
2
解决办法
4万
查看次数

没有前导点的Javascript cookie

我想使用最初在服务器端创建的javascript来清除cookie.每当我使用javascript创建一个cookie时,我的域名都会得到一个前导点,所以我无法覆盖服务器的cookie.

function clearCookie(name, domain, path){
    var domain = domain || document.domain;
    var path = path || "/";
    document.cookie = name + "=; expires=" + +new Date + "; domain=" + domain + "; path=" + path;
};

clearCookie('cookieTime');
Run Code Online (Sandbox Code Playgroud)

这是我的cookie的结果:

name: cookieTime
domain: .www.currentdomain.com
path: /
Run Code Online (Sandbox Code Playgroud)

这是来自服务器的cookie:

name: cookieTime
domain: www.currentdomain.com
path: /
Run Code Online (Sandbox Code Playgroud)

如何在没有前导点的情况下创建js cookie?

javascript cookies session-cookies

9
推荐指数
1
解决办法
4548
查看次数

如何判断为什么没有发送cookie?

我正在使用chrome,我想知道是否有扩展或方法来说明为什么没有发送cookie.

我有一个请求,我正在做http://dev/login,它正在返回,

Set-Cookie:DevId=cffbc7e688864b6811f676e181bc29e6; domain=dev; path=/; expires=Tue, 16-Jun-2015 21:27:43 GMT
Run Code Online (Sandbox Code Playgroud)

但是,在帖子上http://dev/Base/User/home/我没有发送DevIdcookie.如果有人碰巧知道,我很想知道为什么没有发送cookie.但是,此外,我很想知道如何告诉为什么以及如何在将来更好地调试此问题.

以下是Chrome的开发工具中捕获的一些请求

所以这是我的回复/login(注意Set-Cookie标题),

HTTP/1.1 200 OK
Date: Tue, 16 Jun 2015 19:57:43 GMT
Server: Apache
Pragma: no-cache
Cache-control: no-cache, max-age=0
Set-Cookie: DevId=cffbc7e688864b6811f676e181bc29e6; domain=dev; path=/; expires=Tue, 16-Jun-2015 21:27:43 GMT
Cache-Control: max-age=0
Expires: Tue, 16 Jun 2015 19:57:43 GMT
Keep-Alive: timeout=10, max=10
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: application/json; charset=ISO-8859-1
Run Code Online (Sandbox Code Playgroud)

这是我的帖子/Base/User/home/1(注意没有cookie),

POST /Base/User/home/ HTTP/1.1
Host: dev
Connection: keep-alive
Content-Length: 0
Origin: http://dev
User-Agent: Mozilla/5.0 …
Run Code Online (Sandbox Code Playgroud)

cookies google-chrome http developer-tools google-chrome-devtools

9
推荐指数
3
解决办法
7996
查看次数

JavaScript 域从子域读取 cookie

我有一个简单的问题 - 有没有办法通过 JavaScript 读取主域上的子域 cookie?例如:我在子域yeah.something.com 中将cookie 'hello' 设置为值'2',然后我想在something.com 上阅读它。我试图找到答案,但我只找到了如何通过在域上创建 cookie 在子域上设置 cookie 的信息。

javascript cookies subdomain

5
推荐指数
1
解决办法
9759
查看次数

超薄3框架+饼干

我一直在使用Slim Framework 2但是想要切换到最新的版本3.在阅读升级指南时,我对他们有点沮丧只是说" 已经从核心中删除了cookie "并且指的是图片github repo包含的代码片段根本不适用于Slim.

任何人都可以共享一些工作代码片段,使用Slim 3设置和获取一些虚拟cookie吗?谢谢.

php cookies slim

4
推荐指数
4
解决办法
7295
查看次数

Javascript为当前域(包括子域)设置cookie

是否可以为当前(包括子域)存储 JS cookie 。

例如: document.cookie = "key=value; expires=Tue, 16 Apr 2019 11:31:56 GMT; path=/;secure"为当前域设置cookie,但不为域名添加点。

我知道可以通过指定域,domain=.example.com但我不想对域名进行硬编码。

我尝试了类似的方法,但没有成功: document.cookie = "key=value; expires=Tue, 16 Apr 2019 11:31:56 GMT; path=/;secure;domain=."

更新:

我知道您可以获取当前域名window.location.hostname,但是有没有一种解决方案可以让我不需要以编程方式获取域名

更新2:

就像这里描述的:Cookie 域中的点前缀是什么意思?

前导点表示 cookie 对子域也有效;然而最近的 HTTP 规范 (RFC 6265) 改变了这个规则,所以现代浏览器不应该关心前导点。实现已弃用的 RFC 2109 的旧浏览器可能需要该点。

这意味着,如果您在现代浏览器中在域名前使用点,则不会产生任何影响。也就是说,您可以将 JS cookie 的域部分留空,并将其设置为当前域(也匹配子域)

javascript cookies http

4
推荐指数
1
解决办法
1万
查看次数