Для большинства современных браузеров возможно ли отключить сеанс или локальное хранилище при включенных файлах cookie? Или отключение файлов cookie также автоматически отключает использование сеанса / локального хранилища?
Можно ли отключить хранилище сеансов/локальное хранилище и включить файлы cookie?
Ответы (3)
Все, что мне удалось найти, — это версия 6.1 спецификации веб-хранилища W3C:
Обработка постоянного хранилища как файлов cookie
Если пользователи попытаются защитить свою конфиденциальность, очистив файлы cookie, но не очистив при этом данные, хранящиеся в локальном хранилище, сайты могут отразить эти попытки, используя эти две функции в качестве избыточной резервной копии друг для друга. Пользовательские агенты должны представлять интерфейсы для их очистки таким образом, чтобы помочь пользователям понять эту возможность и позволить им одновременно удалять данные во всех функциях постоянного хранилища.
Браузеры «должны» разрешать одновременное удаление, но нет рекомендаций по отдельным переключателям для локального хранилища и файлов cookie.
Тем не менее, в IE 11 я могу отключить хранилище DOM. но включить куки. И наоборот, отключение файлов cookie не влияет на хранилище DOM. В последних версиях FF и Chrome отключение файлов cookie также отключает хранилище DOM.
С технической точки зрения файлы cookie и API веб-хранилища — разные вещи, но обычный пользователь, вероятно, не знает разницы, да и не должен. Однако обычный пользователь слышал о проблемах безопасности с файлами cookie. Возможно, он также слышал совет регулярно очищать файлы cookie или вообще отключать их. Таким образом, обычный пользователь ожидает функцию, которая говорит «Отключить файлы cookie», но на самом деле означает «Не позволять веб-сайтам сохранять данные на моем компьютере».
Я считаю, что именно поэтому большинство браузеров по-прежнему предоставляют знакомую функцию отключения «Cookies», но, конечно, делают больше, чем это, для того, чтобы выполнить то, что, по их мнению, является фактическим намерением пользователя.
На данный момент поведение зависит от браузера. Отключение файлов cookie в каждом из этих браузеров отключает следующее:
- Chrome: файлы cookie, localStorage, sessionStorage, IndexedDB
- Firefox: файлы cookie, localStorage, sessionStorage
- IE: только файлы cookie
Я действительно думаю, что ради точности и гибкости поставщики браузеров должны настроить свою реализацию, чтобы иметь базовую опцию «Не позволять веб-сайтам хранить данные на этом компьютере», которая отключает файлы 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
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.