【问题标题】:Retrieving cookies检索 cookie
【发布时间】:2009-10-01 18:11:19
【问题描述】:

我想知道如何检索具有指定路径的 cookie - 例如 path=/foo/bar... 如果我使用 document.cookie 只检索我 JSessionId cookie.. 我猜这是唯一的使用路径=/。

【问题讨论】:

    标签: javascript browser cookies


    【解决方案1】:

    您是否尝试根据路径而不是名称来检索 cookie?可能有许多与指定路径匹配的 cookie。还可以看看 jQuery 和 Cookie 插件。设置和检索 cookie 非常简单:

    // get cookie
    $.cookie(COOKIE_NAME)
    
    // set cookie
    $.cookie(COOKIE_NAME, 'test', { path: '/your/path', expires: 7});
    

    http://plugins.jquery.com/project/cookie

    【讨论】:

    • 我正在尝试根据名称和路径检索 cookie。具体来说,我知道该路径只有一个 cookie,因此使用 js 获取基于路径的 cookie 对我有用。另一件事是我不能使用其他库 - 由于项目的性质,我必须使用纯 js。
    • 基本上我面临的问题是,当我使用 document.cookie 时,我只得到带有 path=/ 的 cookie,但没有检索到我实际需要的其他 cookie。任何想法如何检索具有特定路径的 cookie,例如 path=/foo/bar
    • 我对 cookie 了解得不够多,无法知道是否允许您创建 2 个名称相同但路径不同的 cookie。完全有可能你不能,仅仅根据名称获取一个 cookie 就可以了。
    【解决方案2】:

    我已经想出了如何解决这个问题...只是为了让任何人阅读这篇文章,我的想法是测试跨站点脚本攻击 (xss) 的应用程序之一,并且 cookie 包含我想要的有价值的信息取回。问题在于 cookie 位于 Web 应用程序本身之外的其他路径上。我必须使用 /somedomain/project 访问应用程序,并且 cookie 设置了 /somedomain/project/project 路径。所以我不得不打开 /somedomain/project/project url 才能检索我需要的 cookie。为了得到那个 cookie,我注入了一个 iframe 元素。在那个 iframe 元素中,我进行了 ajax 调用。这是对 /somedomain/project/project/ 的虚拟调用,只是为了在 iframe ant 中获取一些信息,以确保创建 iframe 的文档对象。该 iframe 的文档对象包含我需要的 cookie。之后,我对远程服务进行了 XmlHTTPRequest 调用,并将 cookie 作为参数发送到远程服务器。

    【讨论】:

      猜你喜欢
      • 2014-02-14
      • 1970-01-01
      • 2014-01-21
      • 2019-03-12
      • 2015-10-30
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多