10

Похоже, что stackauth.com использовал некоторое локальное хранилище, которое Safari не показывает мне, и, следовательно, не может быть удалено. Итак, в целом: как обеспечить удаление всего локального хранилища из Safari?

Некоторые предыстория и детали:

Локальное хранилище HTML5 позволяет веб-сайтам хранить информацию на компьютере. (Это немного похоже на файлы cookie, но содержимое не отправляется на сервер автоматически.) Например, когда вы однажды зашли на (новый) веб-сайт Twitter, при просмотре этого сайта и вставке следующего в строку адреса отображается множество деталей, даже если в данный момент вы не вошли в систему :

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

Чтобы избавиться от этих данных: в Google Chrome "Удалить куки и другие данные сайта" делает свое дело. В Firefox он удаляется каждый раз, когда удаляются файлы cookie. Не так много в сафари.

В Safari, кажется, есть связанные предпочтения в Security, кнопка "Показать базы данных". Тем не менее, в этом списке "Показать базы данных" в Safari НЕ упоминается stackauth.com, как он используется для автоматического входа в глобальную сеть Stack Exchange. И после использования "Удалить все" я все еще получаю результаты на этом сайте:

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

Я мог бы удалить это, используя javascript:localStorage.clear(); , Но тогда мне нужно знать, что на сайте хранятся данные. Этот вопрос касается не только StackAuth; Я хочу убедиться, что другие сайты также не скрыты от списка.

(Я на Mac, использую последнюю версию Safari на последней OS X.)

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

2 ответа2

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.

0

Мое решение немного отличается:

В Windows:

  1. Удерживайте Ctrl + Alt + C.
  2. Введите следующий код в открывшемся окне и нажмите клавишу Enter: localStorage.clear()

На Mac:

  1. Удерживайте Cmd + Opt + C.
  2. Введите следующий код в открывшемся окне и нажмите клавишу Enter: localStorage.clear()

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .