边缘浏览器cookie存储位置和访问权限

时间:2015-08-11 14:55:53

标签: winapi cookies windows-10 microsoft-edge

如何以编程方式枚举和删除Edge浏览器的Cookie?

它们似乎不属于临时互联网文件中的IE Cookie,因此似乎不会被FindFirstUrlCacheEntry / FindNextUrlCacheEntry API调用返回。

我可以在

中看到cookie文件
C:\Users\...\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\#!001\MicrosoftEdge\Cookies
C:\Users\...\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\#!002\MicrosoftEdge\Cookies
C:\Users\...\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\AC\MicrosoftEdge\Cookies

三个目录有什么区别?如何访问它们并以编程方式删除单个cookie?

1 个答案:

答案 0 :(得分:6)

这不是一个完美的答案,而是善良的完美敌人等。

似乎Edge仍然至少使用前两个位置。我在最后一个中没有看到任何最近的cookie。然而,也许这只是巧合。

我已经尝试运行多个窗口和标签,以查看不同的内容进程是否使用了不同的文件夹,但我也无法在该部门中找到很多内容。

可以告诉您的是这些文件的格式:它们是"*\n"个分隔的Cookie集合。每个cookie都有许多字段,"\n" - 分隔。

编辑(2015/12/16):我再次偶然发现了我自己的答案,我需要注意的是,某些Cookie字段值本身可以"*"结尾,在这种情况下搜索{{} 1}}分隔符会认为cookie提前完成。不,这些值不会被转义(这是有道理的......)。所以你最好的选择就是计算线数,这是不幸的。这已在this patch for Firefox的第一部分中修复,该部分存在于Firefox 44及更高版本中。

Cookie字段记录在Firefox's source code

Cookie文件格式是换行符分隔值,“*”用作多个记录之间的分隔符。 每个cookie都包含以下字段:

  1. 名称
  2. 主机/路径
  3. 标志
  4. 列表项
  5. 到期时间最重要的整数
  6. 到期时间最小有效整数
  7. 创建时间最重要的整数
  8. 创建时间最小有效整数
  9. 至少,这似乎是IE中的格式,这里的格式似乎非常相似,如果它们有实质性的不同,我会感到惊讶。

    我刚刚提交了一个补丁,用于使用Firefox现有的用于Edge的cookie的IE cookie读取代码,这似乎有效。这是reviewboard review for itrevlink in hg