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

str*_*cer 3 cookies winapi windows-10 microsoft-edge

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

它们似乎不属于临时Internet文件中的IE cookie,因此似乎不会被FindFirstUrlCacheEntry/ FindNextUrlCacheEntryAPI调用返回.

我可以看到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
Run Code Online (Sandbox Code Playgroud)

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

Gij*_*ijs 6

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

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

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

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

编辑(2015/12/16):再次偶然发现我自己的答案,我需要注意一些cookie字段值本身可以结束,"*"在这种情况下,搜索"*\n"分隔符将认为cookie提前完成.不,这些值不会被转义(这是有道理的......).所以你最好的选择就是计算线数,这是不幸的.这个修补程序在Firefox这个补丁的第一部分中修复,它存在于Firefox 44及更高版本中.

Firefox的源代码中记录了cookie字段:

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

  1. 名称
  2. 主机/路径
  3. 项目清单
  4. 到期时间最重要的整数
  5. 到期时间最小有效整数
  6. 创建时间最重要的整数
  7. 创建时间最小有效整数

至少,这似乎是IE中的格式,这里的格式似乎非常相似,如果它们有实质性的不同,我会感到惊讶.

我刚刚提交了一个补丁,用于使用Firefox现有的用于Edge的cookie的IE cookie读取代码,这似乎有效.这是它的评论板评论,以及hg中revlink.