Як очистити всі локальні сховища HTML5 від Safari?


11

Здається, stackauth.comвін використовував місцевий сховище, яке мій Safari не показує, і тому його не можна видалити. Отже, загалом: як забезпечити видалення всіх локальних сховищ із Safari?

Деякі відомості та деталі:

HTML5 Local Storage дозволяє веб - сайтах зберігати інформацію на комп'ютері. (Це трохи схоже на файли cookie, але вміст не надсилається на сервер автоматично.) Як і колись один раз увійшов на (новий) веб-сайт Twitter, тоді при перегляді цього сайту та вставленні нижче в рядок розташування показано багато деталей, навіть коли в даний момент не увійшли в систему :

javascript:alert(localStorage.getItem(':USER:'));

Щоб позбутися цих даних: у Google Chrome "Видалити файли cookie та інші дані веб-сайтів" робить свою справу. У Firefox вона видаляється кожного разу, коли файли cookie видаляються. Не так багато в Сафарі.

У Safari, схоже, є відповідні переваги у програмі Безпека, кнопка "Показати бази даних". Однак: у цьому списку "Показати бази даних" в Safari НЕ згадується stackauth.com , як використовується автоматичним входом у глобальну мережу Stack Exchange . І після використання "Видалити все" я все одно отримую результати на цьому веб-сайті:

javascript:alert(localStorage.getItem('GlobalLogin'));

Я можу видалити це за допомогою javascript:localStorage.clear();. Але тоді мені потрібно знати, що сайт зберігає дані. Це питання стосується не лише StackAuth; Я хочу бути впевненим, що інші сайти також не приховані від списку.

(Я на Mac, використовуючи останню Safari на останній ОС X.)

Коли спливаюче вікно занадто велике, щоб побачити будь-яку кнопку закриття, натисніть клавішу Esc або Return, щоб закрити діалогове вікно сповіщення.

Відповіді:


5

В останніх версіях Safari (я зараз на 5.1) локальне зберігання можна очистити за допомогою Safari »Скинути Safari» Видалити всі дані веб-сайту. Або за допомогою Safari »Налаштування» Конфіденційність вкладки »Файли cookie та інші дані веб-сайтів» Видалити всі дані веб-сайту. І навіть використовуючи Видалити все під час перегляду деталей на цій самій вкладці конфіденційності. На вкладці Безпека більше не відображається жодна кнопка для перегляду баз даних.

Ще кілька деталей, також для старих версій:

На моєму Mac я знайшов папку ~/Library/Safari/LocalStorage, в якій є файл для кожного сайту, що використовує локальне сховище , дата його створення призначена для мого першого відвідування кожного сайту. У Windows це може бути в папці типу %APPDATA%\Apple\Safariабо %APPDATA%\Apple Computer\Safari.

Видаливши всі ці файли та перезапустивши Safari, очевидно, очищені також дані для StackAuth.

Однак увійти на випадковий сайт Stack Exchange знову отримує мені дані StackAuth та файл у вищевказаній папці, не вимагаючи цього дозволити (мої параметри Safari показують " Зберігання бази даних: жодного дозволеного до запиту ") та без домен відображається у списку "Показати бази". Це також відбувається в режимах приватного перегляду.

Схоже, це викликано різницею між веб-базами даних HTML5 та веб- сховищем HTML5 (остання, включаючи локальне зберігання). Chrome показує як для Twitter:

Бази даних та локальне зберігання в Google Chrome

Мабуть, Safari попереджає лише про бази даних, а не для локального зберігання? Можливо, блокування локального сховища буде настільки ж важким, як і зупинити Adobe Flash від залишення конфіденційності. У специфікаціях зазначено:

Користувацькі агенти повинні закінчувати термін дії даних з локальних областей зберігання лише з міркувань безпеки або на запит користувача.

Будемо сподіватися, що хтось знає простіший спосіб, або що ми отримаємо трохи більше контролю в майбутніх випусках. (Я для цього подав запит на функцію в Apple.)

У моєму випадку я знайшов аж 5 904 позицій, починаючи з березня 2009 року. І навіть мої власні домени, для яких я впевнений, що не використовується місцевого зберігання, були перераховані з файлами по 8 КБ. Розслідування показує, що сценарій користувача Олексія Рузанова FlashBlock також використовує локальне сховище, а отже, викликає файл для кожного веб-сайту один раз, незалежно від того, використовує він місцеве сховище та незалежно від того, використовує він Flash.


Ах, мене тут майже не обдурили: явно натиснувши "Не дозволяти", коли з'явиться запит "Дозволити цьому веб-сайту використовувати простір на вашому диску? - Веб-сайт" twitter.com "вимагає 1 Мб дискового простору для зберігання" html5 test db "Як база даних на вашому диску", як і раніше отримали мені дані під час виконання трюку JavaScript та 8-футовий файл на диску. Однак перезапуск Safari показує, що ці дані не зберігалися (або принаймні: недоступні).
Ар'ян

2

Моє рішення дещо інше:

У Windows:

  1. Утримуйте Ctrl + Alt + C
  2. Введіть наступний код у вікно, яке з'явиться, і натисніть клавішу Enter: localStorage.clear()

На Mac:

  1. Утримуйте Cmd + Opt + C.
  2. Введіть наступний код у вікно, яке з'явиться, і натисніть клавішу Enter: localStorage.clear()

0

В останніх кількох версіях Safari (версія 13 від цієї публікації) ви можете перейти до Налаштування> Конфіденційність> Керування даними веб-сайтів ..., а потім видалити всі дані за доменом.

Менеджер даних веб-сайтів Safari 13, показуючи Superuser.com


Дійсно, це було виправлено у жовтні 2011 року :-) Зауважте, що веб-сайти не обмежують стеження за своїм основним доменом: під час перегляду Супер Користувача ви також отримаєте відстеження від Google, яке, ймовірно, не очищено процедурою на екрані екрана. (Окрім випадків, коли конфіденційність дійсно важлива, краще використовувати приватні вікна перегляду разом із Tor, а може бути, навіть іншим користувачем, і постійно оновлювати браузер. Люди завжди придумують нові способи відстеження відвідувачів, і у браузерів будуть недоліки дизайну. він же помилок .)
Ар'ян
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.