名前空間HTML 5ローカルストレージキー
-
29-09-2019 - |
質問
HTML 5ローカルストレージAPIを使用して、ユーザーのアクセストークンを保存しています。次に、リクエストがこのトークンを追加して、サーバーサイドAPIにアクセスします。使用しているキーを名前のスペースにする必要があるかどうか疑問に思っています。ブラウザはこれの世話をしますか、それともキーを「my-awesome-apptoken」のようなものと呼ぶ必要がありますか?いくつかの検索パラメーションでTwitterがこれを行っていることに気付きました。
ところで、私はそこにトークンを保存するのは安全ではないことを知っていますが、ここではセキュリティは重要ではありません。問題は名前の鍵についてです。
ありがとう!
解決
ブラウザが世話をします:
http://dev.w3.org/html5/webstorage/#dom-localstorage:
ユーザーエージェントには、各オリジン用のローカルストレージエリアのセットが必要です。
他のヒント
いいえ、それを行う必要はありません。各サブドメインの1つのローカルストレージ。
これまでのところ、この質問に関するすべての答えは、あなたのローカルストレージキーを「名前空間」する必要がないことを教えていることがわかります。これが正しいかどうかはわかりません。
アプリケーションを開発し、そのアプリケーションのいくつかのインスタンスを実行する必要があるとしましょう。これは、テストおよび生産システム、またはいくつかのテストシステムである可能性があります。とにかく、これらのアプリが同じプロトコル/サーバー/ポートで実行されているが、異なるURLを使用すると、同じLocalStorageにアクセスできます。
キーが他の開発者が「ユーザー」、「データ」、「キャッシュ」などを使用する名前を使用している場合、別のアプリケーションからLocalStorageを完全に読み取ることになります。そのアプリが同じサーバーで実行されている場合。
確かに、同じサーバーでいくつかのインスタンスを実行したい場合は、キーにアプリ-Prefixを使用しないでください。
LocalStorageの仕組みを誤解している場合は、修正してください。
他の回答は、アプリケーションの名前空間に対応していますが、同じアプリケーションで使用されているさまざまなライブラリの場合にも名前空間が重要です。このようなライブラリを開発している場合、おそらく他の図書館開発者(または将来の自己さえ)を尊重して、ライブラリのストレージ使用を名前を掲載します。
今夜出会った例では、ストレージキーを使用しています nonce
. 。複数のライブラリがそれぞれ使用しようとした場合 nonce
同じアプリ内では、問題があります。他の開発者が使用するライブラリを開発している場合は、プレフィックスオプションを提供すると便利です。 myapilib_
+ nonce
.