Можно ли отключить хранилище сеансов/локальное хранилище и включить файлы cookie?

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


person Randy Minder    schedule 24.10.2014    source источник
comment
Я не понимаю, что вы пытаетесь сделать? Каков ваш вариант использования? Почему вы хотите отключить хранение в браузере при использовании файлов cookie? Одно другому не мешает.   -  person Magnus Karlsson    schedule 01.07.2015
comment
@MagnusKarlsson - Мой вопрос ясен, и я не говорил, что пытаюсь что-то сделать. Я просто спрашиваю о связи между отключением файлов cookie пользователем и отключением сеанса или локального хранилища.   -  person Randy Minder    schedule 01.07.2015
comment
Ну, не все так ясно, поскольку ваш комментарий на самом деле разъяснил, о чем вы просите. И мой вопрос заключался в том, чтобы узнать, есть ли у вас какой-либо особый вариант использования, который можно было бы решить с помощью Chromium или других браузеров, но я думаю, что нет.   -  person Magnus Karlsson    schedule 01.07.2015


Ответы (3)


Все, что мне удалось найти, — это версия 6.1 спецификации веб-хранилища W3C:

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

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

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

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

person bishop    schedule 24.06.2015

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

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

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

  • Chrome: файлы cookie, localStorage, sessionStorage, IndexedDB
  • Firefox: файлы cookie, localStorage, sessionStorage
  • IE: только файлы cookie

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

person light    schedule 01.07.2015
comment
Привет, спасибо за вашу информацию. кстати, где вы находите поведение каждого браузера соответственно? - person zeroflaw; 15.01.2018

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

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

Гугл Хром

    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

Fire Fox:

То же самое я тестировал в 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.

person Midhun Murali    schedule 01.07.2015
comment
Я ценю детали для Chrome и Firefox. К сожалению, ваше первое предложение (Если вы отключите куки, то локальное хранилище не будет работать.) верно только для определенных браузеров. В IE, например, отключение файлов cookie отключает только файлы cookie: вам нужно отдельно отключить локальное хранилище, глубоко в аду флажков дополнительных настроек. - person bishop; 01.07.2015
comment
Спасибо епископ. Но считать IE современным браузером по-прежнему сложно :P . Так что я не делал тест на этом - person Midhun Murali; 02.07.2015