从本机Windows / Mac应用程序访问浏览器cookie存储

时间:2013-10-08 02:48:43

标签: windows macos internet-explorer google-chrome firefox

有没有办法在Windows或Mac客户端应用程序中以编程方式访问流行浏览器的Cookie存储区(Chrome / FF / IE)?

或者

有关浏览器如何/在何处将Cookie存储在磁盘上的任何信息/文档?

1 个答案:

答案 0 :(得分:1)

每个浏览器以不同方式存储其Cookie。

Internet Explorer使用WinINET存储其Cookie;有一个完整的API用于访问cookie,但由于引入了保护模式,它在Vista +上的IE8中变得更加复杂,尽管引入了API以允许桌面应用程序与保护模式cookie交互。

IE10 +引入了增强型保护模式,因为没有API可以与EPM中的cookie进行交互,因此甚至更多更复杂。

http://blogs.msdn.com/b/ieinternals/archive/2009/08/20/wininet-ie-cookie-internals-faq.aspx

  

问题11:应用程序或本机代码加载项如何检索cookie?

     

答:使用InternetGetCookieEx功能。

     

注意,默认情况下,从此函数返回的cookie不会   包括任何HTTPOnly cookie。要检索HTTPOnly cookie,您必须   传递IE8 +中提供的INTERNET_COOKIE_HTTPONLY标志。如果你   决定通过这个标志,你必须确保你的代码不会   将返回的值公开给任何脚本可控上下文。 (注意:   看来对INTERNET_COOKIE_HTTPONLY标志的支持是   在累积更新中添加到IE7(KB960818)。

     

注意:在Windows Vista及更高版本上,Internet Explorer会运行Internet   保护模式下的内容,一个带有隔离cookie存储的沙箱。在   为了从外部获取保护模式沙箱中的cookie   以中等完整性运行的应用程序(也就是Internet之外)   资源管理器),您必须使用IEGetProtectedModeCookie函数。这个   在IE8中添加了API,不幸的是,没有直截了当的说法   IE7的替代品。此API有许多限制,特别是   高完整性(管理员)运行的进程无法调用它。