Jak wyczyścić całą lokalną pamięć HTML5 z Safari?

11

Wygląda na to, że stackauth.comużył lokalnej pamięci, której moje Safari mi nie pokazuje i dlatego nie można jej usunąć. Tak więc ogólnie: jak zapewnić usunięcie całej lokalnej pamięci z Safari?

Niektóre tła i szczegóły:

HTML5 Local Storage pozwala stron internetowych do przechowywania informacji na komputerze. (To trochę jak pliki cookie, ale zawartość nie jest wysyłana automatycznie na serwer.) Na przykład, gdy raz zalogujesz się na (nowej) stronie Twittera, wtedy podczas przeglądania tej strony i wklejania następujących elementów na pasku lokalizacji widać dużo szczegółowych informacji, nawet jeśli nie jest aktualnie zalogowany :

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

Aby pozbyć się tych danych: w Google Chrome „Usuń pliki cookie i inne dane witryny” załatwia sprawę. W przeglądarce Firefox jest usuwany za każdym razem, gdy usuwane są pliki cookie. Nie tak bardzo w Safari.

W Safari wydaje się, że istnieje powiązana preferencja w Zabezpieczeniach, przycisk „Pokaż bazy danych”. Jednak: ta lista „Pokaż bazy danych” w Safari NIE wspomina o stackauth.com , jak używana przez automatyczne logowanie do sieci globalnej Stack Exchange . Po użyciu opcji „Usuń wszystko” nadal otrzymuję wyniki na tej stronie:

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

Mogę to usunąć za pomocą javascript:localStorage.clear();. Ale potem muszę wiedzieć, że witryna ma dane. To pytanie nie dotyczy tylko StackAuth; Chcę mieć pewność, że inne witryny również nie są ukryte na liście.

(Jestem na komputerze Mac, używam najnowszego Safari na najnowszym OS X.)

Gdy wyskakujące okienko jest zbyt duże, aby wyświetlić dowolny przycisk zamykania, naciśnij klawisz Esc lub Return, aby zamknąć okno dialogowe ostrzeżenia.

Arjan
źródło

Odpowiedzi:

5

W najnowszych wersjach Safari (korzystam teraz z wersji 5.1) pamięć lokalną można wyczyścić za pomocą Safari »Zresetuj Safari» Usuń wszystkie dane z witryny. Lub korzystając z Safari »Preferencje» karta Prywatność »Pliki cookie i inne dane witryny» Usuń wszystkie dane witryny. A nawet przy użyciu opcji Usuń wszystko podczas przeglądania szczegółów w tym samym arkuszu prywatności. Arkusz bezpieczeństwa nie wyświetla już żadnego przycisku do przeglądania baz danych.

Więcej szczegółów, także dla starszych wersji:

Na moim komputerze Mac znalazłem folder ~/Library/Safari/LocalStorage, w którym znajduje się plik dla każdej witryny korzystającej z pamięci lokalnej , z datą jej utworzenia ustawioną na moją pierwszą wizytę w każdej witrynie. W systemie Windows może to być folder taki jak %APPDATA%\Apple\Safarilub %APPDATA%\Apple Computer\Safari.

Usunięcie wszystkich tych plików i ponowne uruchomienie Safari oczywiście oczyściło również dane StackAuth.

Jednak zalogowanie się do losowej witryny Stack Exchange powoduje, że ponownie otrzymuję dane StackAuth i plik w powyższym folderze, bez konieczności monitowania o to (moje preferencje Safari pokazują „ Przechowywanie bazy danych: brak pozwolenia przed pytaniem ”) i bez domena jest wyświetlana na liście „Pokaż bazy danych”. Dzieje się tak również w trybach przeglądania prywatnego.

Wydaje się, że jest to spowodowane różnicą między bazami danych HTML5 a pamięcią masową HTML5 (ta ostatnia obejmuje również pamięć lokalną). Chrome pokazuje oba na Twitterze:

Bazy danych i pamięć lokalna w Google Chrome

Najwyraźniej Safari ostrzega tylko przed bazami danych, a nie z pamięcią lokalną? Może zablokowanie lokalnej pamięci będzie tak samo trudne, jak powstrzymanie Adobe Flash przed pozostawieniem śladu prywatności. W specyfikacji podano :

Aplikacje klienckie powinny wygasać dane z lokalnych obszarów pamięci tylko ze względów bezpieczeństwa lub na żądanie użytkownika.

Miejmy nadzieję, że ktoś wie o łatwiejszym sposobie lub że uzyskamy większą kontrolę w przyszłych wydaniach. (W tym celu złożyłem w Apple prośbę o dodanie funkcji).

W moim przypadku znalazłem aż 5 904 pozycji z marca 2009 r. I nawet moje własne domeny, dla których jestem pewien, że nie jest używana pamięć lokalna, były wymienione z plikami o wielkości 8 KB. Dochodzenie pokazuje, że skrypt użytkownika FlashBlock Aleksieja Ruzanowa również korzysta z pamięci lokalnej, a zatem powoduje utworzenie pliku dla każdej witryny, którą odwiedza, niezależnie od tego, czy korzysta z pamięci lokalnej i niezależnie od tego, czy używa Flasha.

Arjan
źródło
Ach, prawie się oszukałem: jawnie klikając „Nie zezwalaj”, gdy pojawi się monit „Zezwól tej witrynie na wykorzystanie miejsca na dysku? - Witryna„ twitter.com ”żąda 1 MB miejsca na dysku do przechowywania„ html5 test db „Jako baza danych na dysku”, wciąż dostałem dane podczas wykonywania sztuczki JavaScript i plik 8kb na dysku. Jednak ponowne uruchomienie Safari pokazuje, że te dane nie zostały zapisane (a przynajmniej: nie są dostępne).
Arjan
2

Moje rozwiązanie jest nieco inne:

W systemie Windows:

  1. Przytrzymaj Ctrl + Alt + C.
  2. Wpisz następujący kod w wyskakującym oknie i kliknij klawisz Enter: localStorage.clear()

Na komputerze Mac:

  1. Przytrzymaj Cmd + Opt + C.
  2. Wpisz następujący kod w wyskakującym oknie i kliknij klawisz Enter: localStorage.clear()
użytkownik1477388
źródło
0

W kilku ostatnich wersjach Safari (wersja 13 od tego postu) możesz przejść do Preferencji> Prywatność> Zarządzaj danymi strony internetowej… a następnie usunąć wszystkie dane według domeny.

Menedżer danych strony Safari 13 pokazujący Superuser.com

CyberSkull
źródło
Rzeczywiście, zostało to naprawione w październiku 2011 roku :-) Pamiętaj, że strony internetowe nie ograniczają śledzenia do głównej domeny: podczas przeglądania Superużytkownika otrzymasz również śledzenie od Google, co prawdopodobnie nie jest usuwane przez procedurę na twoim zrzucie ekranu. (Poza tym, gdy prywatność jest naprawdę ważna, lepiej korzystać z prywatnych okien przeglądania, razem z Torem, a może nawet innego użytkownika, i aktualizować przeglądarkę. Ludzie zawsze wymyślają nowe sposoby śledzenia odwiedzających, a przeglądarki mają wady projektowe aka bugs .)
Arjan