web-dev-qa-db-ja.com

SafariからすべてのHTML5ローカルストレージを消去する方法

_stackauth.com_が、Safariで表示されないローカルストレージを使用しているため、削除できないようです。したがって、一般的に:allローカルストレージがSafariから削除されるようにする方法は?

背景と詳細:

HTML5ローカルストレージ を使用すると、Webサイトがコンピューターに情報を保存できます。 (これはCookieと少し似ていますが、コンテンツは自動的にサーバーに送信されません。)(新しい)Twitter Webサイトに一度ログインしたときのように、そのサイトを表示して以下をロケーションバーに貼り付けると、たくさん表示されます現在ログインしていない場合でも、詳細の

_javascript:alert(localStorage.getItem(':USER:'));
_

このデータを削除するには、GoogleでChrome "Cookieと他のサイトのデータを削除する"でうまくいきます。Firefoxでは、Cookieが削除されるたびに削除されます。Safariではそれほどではありません。

Safariでは、[セキュリティ]の[データベースを表示]ボタンに関連する設定があるようです。ただし、Safariの「データベースの表示」のリストには、Stack Exchange global network auto-login で使用される stackauth.com については触れられていません。そして、「すべて削除」を使用した後も、そのサイトで結果が得られます。

_javascript:alert(localStorage.getItem('GlobalLogin'));
_

javascript:localStorage.clear();を使用して削除できます。しかし、サイトにデータが保存されていることを知る必要がありますこの質問はStackAuthだけに関するものではありません。他のサイトもリストから隠されていないことを確認したいです。

(私はMacで、最新のOS Xで最新のSafariを使用しています。)

ポップアップが大きすぎて閉じるボタンが表示されない場合は、EscキーまたはReturnキーを押してアラートダイアログを閉じます。

11
Arjan

Safariの最近のバージョン(現在5.1を使用しています)では、ローカルストレージをSafari"Safariのリセット"すべてのWebサイトデータを削除してクリアできます。または、Safari"設定"タブシートプライバシー"Cookieおよびその他のWebサイトデータ"すべてのWebサイトデータを削除します。さらに、同じプライバシータブシートで詳細を表示するときに[すべて削除]を使用しても。 [セキュリティ]タブシートに、データベースを表示するためのボタンが表示されなくなりました。

古いバージョンの場合の詳細:

私のMacで、~/Library/Safari/LocalStorageフォルダーが見つかりました。このフォルダーには、ローカルストレージを使用する各サイトのファイルがあります、作成日は私の各サイトへの最初の訪問に設定されています。 Windowsでは、これは%APPDATA%\Apple\Safari%APPDATA%\Apple Computer\Safariなどのフォルダーにある可能性があります。

これらすべてのファイルを削除してSafariを再起動すると、明らかにStackAuthのデータもクリアされました。

ただし、ランダムなStack Exchangeサイトにログインすると、StackAuthデータと上記のフォルダー内のファイルが再度表示されますが、許可を求めるプロンプトは表示されません(私のSafari設定に "Database storage:質問する前は許可されません ")。また、[データベースの表示]リストにドメインが表示されません。これはプライベートブラウジングモードでも発生します。

これは、HTML5 Web Databases とHTML5 Web Storage (後者はローカルストレージを含む)の違いが原因であるようです。 ChromeはTwitterのbothを表示します:

Databases and local storage in Google Chrome

どうやらSafariはデータベースのみを警告し、ローカルストレージは警告しないのですか?たぶん、ローカルストレージをブロックすることは Adobe Flashを停止する がプライバシートレイルを離れるのと同じくらい難しいでしょう 仕様 状態:

ユーザーエージェントは、セキュリティ上の理由またはユーザーから要求された場合にのみ、ローカルストレージ領域のデータを期限切れにする必要があります。

誰かがより簡単な方法を知っていること、または将来のリリースでさらに制御できることを期待しましょう。 (私はAppleそのために機能リクエストを提出しました。)

私の場合、2009年3月までさかのぼって5,904ものアイテムが見つかりました。さらに、ローカルストレージが使用されていないと確信している自分のドメインでさえ、それぞれ8 kbのファイルがリストされていました。調査によると、Alexey Ruzanovの FlashBlockユーザースクリプト はローカルストレージも使用しているため、ローカルストレージを使用するかどうか、およびFlashを使用するかどうかに関係なく、アクセスするサイトごとにファイルが作成されます。

5
Arjan

私の解決策は少し異なります:

Windowsの場合:

  1. Ctrl + Alt + Cを押したままにします。
  2. ポップアップウィンドウに次のコードを入力し、Enterキーをクリックします。localStorage.clear()

Macの場合:

  1. Cmd + Opt + Cを押したままにします。
  2. ポップアップウィンドウに次のコードを入力し、Enterキーをクリックします。localStorage.clear()
2
user1477388

Safariの最後のいくつかのバージョン(この投稿の時点でのバージョン13)では、[設定]> [プライバシー]> [ウェブサイトデータの管理…]に移動して、すべてのデータを削除できますドメインごと。

Safari 13 website data manager showing Superuser.com

0
CyberSkull