Cookies 是否可以禁用会话存储/本地存储并启用Cookie?

Cookies 是否可以禁用会话存储/本地存储并启用Cookie?,cookies,local-storage,session-storage,Cookies,Local Storage,Session Storage,对于大多数现代浏览器,在启用cookie时是否可以禁用会话或本地存储?或者禁用Cookie是否也会自动禁用会话/本地存储?我所能找到的只有以下第6.1条: 将持久性存储视为cookie 如果用户试图通过清除cookie来保护其隐私,而不同时清除存储在本地存储区域中的数据,则站点可以通过使用这两个功能作为彼此的冗余备份来挫败这些尝试。用户代理应该以一种帮助用户理解这种可能性并使他们能够同时删除所有持久性存储功能中的数据的方式提供清除这些数据的接口 浏览器“应该”支持同时删除,但不建议对本地存储和c

对于大多数现代浏览器,在启用cookie时是否可以禁用会话或本地存储?或者禁用Cookie是否也会自动禁用会话/本地存储?

我所能找到的只有以下第6.1条:

将持久性存储视为cookie

如果用户试图通过清除cookie来保护其隐私,而不同时清除存储在本地存储区域中的数据,则站点可以通过使用这两个功能作为彼此的冗余备份来挫败这些尝试。用户代理应该以一种帮助用户理解这种可能性并使他们能够同时删除所有持久性存储功能中的数据的方式提供清除这些数据的接口

浏览器“应该”支持同时删除,但不建议对本地存储和cookie进行单独切换


也就是说,在IE 11中,我只能启用cookies。相反,禁用cookie对DOM存储没有影响。在FF&Chrome最新版本中,禁用cookie似乎也会禁用DOM存储。

如果禁用cookie,则本地存储将无法工作。我刚试过

请尝试以下步骤,以将其签出

谷歌浏览器

    step 1 :
    Select the Chrome menu icon Chrome menu.
    Select Settings.
    Near the bottom of the page, select Show advanced settings.
    In the "Privacy" section, select Content settings.
    Select Block sites from setting any data.
    Select Done.

    Step 2 : Open browser console and type localstorage.name="test". This will throw below error

    Uncaught DOMException: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.
        at Error (native)
        at <anonymous>:2:1
        at Object.InjectedScript._evaluateOn (<anonymous>:895:140)
        at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34)
        at Object.InjectedScript.evaluate (<anonymous>:694:21)

    Step 3 : now enable cookie and try it out . Local Storage will work

因此,如果没有启用Cookie,localstorage将无法在chrome和firefox上运行。

从技术上讲,Cookie和Web存储API是不同的东西,但普通用户可能不知道它们之间的区别,也不需要知道它们之间的区别。然而,一个普通用户听说了cookie的安全问题。他也可能听过关于定期清理cookies或完全禁用cookies的建议。因此,一个普通用户期望有一个功能,上面写着“禁用Cookies”,但实际上意味着“不要让网站在我的计算机上保存数据”

我相信这就是为什么大多数浏览器继续提供人们熟悉的禁用“cookie”功能的原因,但当然,为了满足他们认为是用户的实际意图,它们所做的还不止这些

目前,这种行为取决于浏览器。在每个浏览器上禁用Cookie会禁用以下功能:

  • Chrome:cookie、本地存储、会话存储、IndexedDB
  • Firefox:cookie、本地存储、会话存储
  • IE:仅限cookies

我确实认为,为了精确性和灵活性,浏览器供应商应该调整其实现,使其具有一个基本选项“不允许网站在此计算机上存储数据”,该选项禁用cookie和所有持久存储机制,以及“高级设置”单独禁用各种存储机制的功能。

我不明白您想做什么?您的用例是什么?使用Cookie时,为什么要关闭浏览器中的存储?马格努斯卡尔松:我的问题很清楚,我没有说我想做什么。我只是想问一下用户禁用cookie与会话或本地存储是否也被禁用之间的关系。因为你的评论实际上澄清了你的要求。我的问题是,你是否有任何特殊的用例可以用Chrome或其他浏览器来解决,但我想没有。我很感激Chrome和Firefox的细节。不幸的是,您的第一句话(“如果禁用cookie,则本地存储将无法工作”)仅适用于某些浏览器。例如,在IE中,禁用Cookie只会禁用Cookie:您必须单独禁用本地存储,深入高级设置的复选框地狱。谢谢。但是,作为现代浏览器,IE仍然很难被考虑。所以我没有做测试嗨,谢谢你的信息。顺便问一下,在哪里可以找到相应的每个浏览器的行为?
Step 1:
    Click the menu button  New Fx Menu and choose Options.
    Select the Privacy panel.
    Set Firefox will: to Use custom settings for history. 
    Now disable accept cookies from site

Step 2:
Open browser console and try localstorage.name="test" . This will fail as below
SecurityError: The operation is insecure.

Step 3: 
Now enable cookie and try it will work.