即使禁用了cookie,IE11仍然可以访问document.cookie

时间:2015-05-29 17:57:47

标签: javascript internet-explorer cookies internet-explorer-11

使用IE11,即使我将我的隐私设置为“阻止所有Cookie”,我也可以显示所有Cookie的内容,写出Cookie,找到并使用JavaScript将其删除。 (实际上,无论我将IE模拟设置为什么版本,document.cookie仍然有效。)它在Chrome上禁用cookie时应该正常工作 - 即当我尝试在其中引用它时,document.cookie返回空/无相同的JavaScript。

我正在尝试检测用户是否在其IE中关闭了Cookie。 (旧的ASP应用程序,需要IE与cookie。没有JQuery。没有Modernizr。)为此,我试图写出一个cookie,找到它,然后删除它。无论是工作还是不工作 - 这应该告诉我cookie是打开还是关闭。有任何想法吗?我认为这是检测用户IE cookie设置的最安全的方法。

我的代码:

<script language=javascript>
     cookiesON = false;
     if ("cookie" in document ) {
         alert("1. document.cookie (before add): " + document.cookie);

         var dateNow = new Date();
         document.cookie = "testcookie=" + new Date()
         alert("2. document.cookie (after add): " + document.cookie);

         if (document.cookie.indexOf("testcookie=") > -1) {
            cookiesON  = true;
         } else {
            cookiesON  = false;
         }

         // delete cookie: set cookie to expire 2 minutes ago
         document.cookie="testcookie=xx; expires=" + (new Date(dateNow.getTime() - 2*60000).toGMTString());
         alert("3. document.cookie (after delete): " + document.cookie);
      }

在IE上: 无论是打开还是关闭cookie,所有3个警报都会显示document.cookie的值。你可以看到testcookie被添加并删除了。

在Chrome上: 当cookie关闭时,所有3个警报显示为document.cookie的空白。当打开cookie时,按照IE的描述工作。

0 个答案:

没有答案