我们有一个使用Forms Auth的ASP.NET应用程序。 当用户login时,会生成一个会话ID cookie和一个Forms Auth票证(存储为一个cookie)。 这些是会话cookie,而不是永久的cookie。 当浏览器closures时,用户被有效注销是有意和有希望的。 一旦用户login,使用window.open('location here');popup一个新窗口window.open('location here'); 。 打开的页面实际上是用户在其他会话中工作的工作空间。 在这个页面上,还使用了其他popup窗口。 最近,我们有很多客户(都使用最新版本的IE8)抱怨他们login的时候,最初的popup窗口将他们带回到login屏幕,而不是他们的主页。 或者,用户有时可以login,进入主页(这又是一个新的popup窗口),看起来一切正常,直到创build了任何其他popup窗口,开始将其redirect到login屏幕再次。 在试图解决这个问题时,我使用了很好的老提琴手。 当问题开始显现时,我发现浏览器没有发送ASP.NET会话ID会话cookie或Forms Auth票证会话cookie,尽pipe对POST日志的响应清楚地推送了这些cookie。 更奇怪的是,如果我CTRL + N从缺less会话cookie的popup窗口打开一个新窗口,然后手动input到主页的URL,这些cookie奇妙地再次出现。 但是,后来的window.open(); 电话将继续被打破,不会发送会话cookie并使用户login屏幕。 需要注意的是,有时候看起来没有什么好的理由,那些同样的用户可以突然login并正常工作一段时间,然后又回到破解状态。 现在,我确定没有浏览器插件,插件,工具栏等正在运行。 我已经将我们的站点添加为受信任的站点,并将安全设置降至低,我已将Cookie隐私策略修改为“接受全部”,甚至禁用了自动策略设置,手动强制它接受所有内容并包含会话Cookie。 似乎没有任何影响。 另请注意,Web应用程序驻留在一台服务器上。 没有负载平衡,networking花园,服务器场,集群等。服务器驻留在ISA服务器之后,但除此之外,它非常简单。 我一直在寻找几天,并没有发现任何可操作的。 哎呀,有时我甚至不能可靠地重现它。 我发现有几个人提到这个问题,但是他们似乎引用了一个据称在beta或RC版本中修复的问题(例如: redirect后打开一个新窗口时,IE8会丢失cookie )。 这些是IE的发布版本,包含最新的补丁。 我知道我可以尝试设置永久性Cookie而不是会话Cookie。 但是,这对我们的应用程序有很大的安全隐患。 更新 当用户作为本地pipe理员添加到机器上时,似乎问题自动消失。 只有时间才能说明这种变化是否永久性地(积极地)影响了这个问题。 有时间去淘汰ProcMon,看看是否有资源访问问题。 更新#2 似乎有多个angular度来看似乎是一个单一的问题。 我很久以前就报告说,让用户成为本地pipe理员似乎有所帮助。 对于一些用户来说,它确实如此。 当然,这不是一个真正的解决scheme,但它确实让我们蹒跚而行。 然后,更多的用户开始报告问题,而pipe理修复无助。 用户似乎主要是Win7,但Vista也受到影响。 他们似乎也主要是64位安装。 如下面的一些成员所build议的将TabProcGrowth设置为0或1(或者工作)似乎已经在很大程度上解决了这个问题。 所以,我将把我接受的答案提交给第一个提出这个问题的人,因为它已经有了更多的影响力。 这是一个非常令人沮丧的问题,因为难以复制,而且经常发生在用户身上,我没有直接的交stream,或者到达他们的时候,这似乎并不奏效。 我只能说会话合并function是不正确的,但是我没有太多的数据来提供给微软来寻找永久性的修复。
哪些浏览器支持HttpOnly cookies,以及哪个版本? 请参阅http://www.codinghorror.com/blog/archives/001167.html关于HttpOnly cookie和XSS预防的讨论。
在我以前的网站上,我以前只是在第一次访问时才使用cookie来显示预置主页。 这很好( 例如在这里看到 ),但使用cookie并不是如此新潮,所以我想尽可能地避免它。 现在,我的新网站项目几乎总是通过javascript(显示一个模式框)启动预置家,所以我不需要在服务器端做任何操作。 我正在考虑使用HTML5 localStorage而不是cookie,如果浏览器没有localStorage,则会返回cookie。 这是一个好主意吗? 对可用性,隐私保护和网站性能有什么影响? 使用localStorage可以提高禁用cookies的用户的可用性。 但是我知道某些HTML5function只能在某些浏览器中select使用(如地理定位)。 在任何浏览器上对localStorage有没有限制? 是否有任何情况下,如果localStorage可用,但我的网站停用,我会得到一个JS错误?
我正在ASP页面上保存一些Cookie值。 我想为cookie设置根path,以便所有页面都可以使用cookie。 目前的cookiepath是/v/abcfile/frontend/ 请帮帮我。
我在乘客的轨道上4。 一切都很好,直到我刚才做了一个bundle 。 现在我遇到以下错误: Web application could not be started uninitialized constant ActionDispatch::Session::EncryptedCookieStore (NameError) /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application/configuration.rb:144:in `const_get' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application/configuration.rb:144:in `session_store' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:345:in `block in default_middleware_stack' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:307:in `tap' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:307:in `default_middleware_stack' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/engine.rb:494:in `app' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application/finisher.rb:34:in `block in <module:Finisher>' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:30:in `instance_exec' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:30:in `run' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:55:in `block in run_initializers' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from' /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:182:in `block in […]
我注意到,在浏览器之间有一些cookie的真正的不一致之处。 这对我来说将是相当长的。 注意:我在我的主机文件“testdomain.com”中设置了一个域,这个bug在使用“localhost”的时候工作。 注2:我很好奇,知道如果这个工作在Apache / PHP上时,如果它返回一个cookie的集合,如果你通过名字检索一个cookie。 维基百科 维基百科指出: http : //en.wikipedia.org/wiki/HTTP_cookie#Domain_and_Path 域和path Cookie域和path定义了Cookie的范围 – 它们告诉浏览器,cookies应该只发送给给定域和path的服务器。 如果未指定,则默认为请求的对象的域和path。 所以如果我们按下: Response.Cookies.Add(new HttpCookie("Banana", "2") { }); 我们应该从所请求的对象中获得一个域作为域的cookie,在这种情况下,它应该是“testdomain.com”。 W3 W3在cookies的规范中声明: http : //www.w3.org/Protocols/rfc2109/rfc2109 域=域名 可选的。 “域”属性指定cookie有效的域。 明确指定的域必须始终以点开头。 所以如果我们按下: Response.Cookies.Add(new HttpCookie("Banana", "1") { Domain = Request.Url.Host }); 我们明确地推下了主机名,我们应该在cookie上设置一个域名,这个域名会以“.testdomain.com”作为前缀。 它还说明了维基百科上的内容: 域默认为请求主机。 (请注意,请求主机的开头没有点。) 跟我到目前为止? 如果我使用第一种方法,定义一个域: Response.Cookies.Add(new HttpCookie("Banana", "1") { Domain = Request.Url.Host }); […]
我想知道是否,当我使用jQuery $ .post(…) , 发送请求发送到服务器的任何cookie? 谢谢!
受此CodingHorror文章的启发,“ 保护您的Cookie:HttpOnly ” 你如何设置这个属性? 在networkingconfiguration的某处?
我正在使用通用分析 。 通用分析创build第一方cookie _ga _ga=1.2.286403989.1366364567; 286403989是clientId 1366364567是时间戳 什么是_ga cookie中的1和2 ?
我无法从JavaScript访问任何cookie。 我需要读取一些值,并通过JSON发送给我的自定义检查。 我试图从JS访问cookie,就像它被描述: http://www.w3schools.com/js/js_cookies.asp 按名称获取Cookie 正如你在代码中看到的那样,接下来看起来就像水晶一样清晰: var c_value = document.cookie; 当我尝试从Chrome的Webdebugging器访问document.cookie值时,我只能看到Watchexpression式中的空string: 所以我无法读取我需要的cookie值。 我已经检查了cookie名称,我正在发送一个关联的值是正确的。 另外,如果你感兴趣的话,我使用W3Schools的源代码获取cookie(但是从第二个链接,技术是相似的)。 我该如何解决我的问题? 谢谢!