2013-10-08 46 views

回答

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

Q11:应用程序或本地代码的加载项如何检索cookie?

答:使用InternetGetCookieEx函数。

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

注意:在Windows Vista及更高版本上,Internet Explorer在保护模式下运行Internet 内容,该保护模式是一个带有独立cookie存储的沙盒。在 中,为了从保护模式沙箱中以中等完整性(外部Internet Explorer)运行的外部 应用程序获取cookie,必须使用IEGetProtectedModeCookie函数。在IE8中添加了这个 API,不幸的是,IE7没有直接的 替代方案。此API有许多限制,特别是 ,它不能由运行在高完整性(Admin)的进程调用。

相关问题