HTML5 - Можно ли отключить хранение сеанса или локальное хранилище и включить Cookies?

Для большинства современных браузеров, возможно ли отключить сеансовое или локальное хранилище во время включения файлов cookie? Или автоматически отключается отключение файлов cookie, отключая использование сеансового/локального хранилища?

Ответ 1

Все, что я смог найти, это & ​​sect; 6.1 Спецификация веб-хранилища W3C:

Обработка постоянного хранилища как файлов cookie

Если пользователи пытаются защитить свою конфиденциальность, очищая куки файлы без очистки данных, хранящихся в локальной области хранения, сайты могут победить эти попытки, используя две функции в качестве резервной резервной копии друг для друга. Пользовательские агенты должны представлять интерфейсы для их очистки таким образом, чтобы помочь пользователям понять эту возможность и позволить им одновременно удалять данные во всех постоянных функциях хранения.

Браузеры должны "включить одновременное удаление", но нет рекомендаций по отдельным переключениям для локального хранилища и файлов cookie.

Тем не менее, в IE 11 я могу отключить хранилище DOM, но включить файлы cookie. И наоборот, отключение файлов cookie не влияет на хранилище DOM. В последних версиях FF и Chrome отключение файлов cookie также отключает хранение DOM.

Ответ 2

С технической точки зрения, куки и API веб-хранилища - это разные вещи, но обычный пользователь, вероятно, не знает ни о разнице, ни необходимости. Обычный пользователь, однако, слышал о проблемах безопасности с файлами cookie. Возможно, он также слышал совет регулярно удалять файлы cookie или вообще отключать их. Итак, обычный пользователь ожидает функцию, которая говорит "Отключить Cookies", но на самом деле означает "Не позволяйте веб-сайтам сохранять данные на моем компьютере".

Я полагаю, что именно поэтому большинство браузеров продолжают предоставлять знакомую функцию отключения "Cookies", но, конечно, делают больше, чем это скрыто, для того, чтобы выполнить то, что, по их мнению, является действительным намерением пользователя.

На данный момент поведение зависит от браузера. Отключение файлов cookie в каждом из этих браузеров отключает следующее:

  • Chrome: куки, localStorage, sessionStorage, IndexedDB
  • Firefox: куки, localStorage, sessionStorage
  • IE: только куки

Я считаю, что ради точности и гибкости поставщики браузеров должны настроить свою реализацию, чтобы иметь базовую опцию "Не разрешать веб-сайтам хранить данные на этом компьютере", которая отключает файлы cookie и все механизмы постоянного хранения, а также "Расширенные настройки". "функциональность для индивидуального отключения различных механизмов хранения.

Ответ 3

Если вы отключите файл cookie, локальное хранилище не будет работать. Я просто попробовал.

Попробуйте выполнить следующие шаги, чтобы проверить его

Google Chrome

    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

FireFox:

То же самое я тестировал в Firefox, и он работает одинаково.

Попробуйте выполнить следующие действия:

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.

Таким образом, без файлов cookie localstorage не будет работать на chrome и firefox.