ホームページ >ウェブフロントエンド >H5 チュートリアル >データにHTML5ローカルストレージを使用する方法は?

データにHTML5ローカルストレージを使用する方法は?

James Robert Taylor
James Robert Taylorオリジナル
2025-03-10 16:58:19956ブラウズ

データにHTML5ローカルストレージを使用する方法?

​​

HTML5ローカルストレージの使用:HTML5ローカルストレージは、ユーザーのWebブラウザー内にキーバリューペアを直接保存する簡単な方法を提供します。 このデータは、ブラウザのタブまたはウィンドウが閉じたときにクリアされるセッションストレージとは異なり、ブラウザが閉じて再開された後でも持続します。 データは、Webサイトの起源(ドメイン、プロトコル、およびポート)に固有のものです。

これは、使用方法の内訳を示しています。キー(文字列)と値(文字列)の2つの引数が必要です。 数字、ブール人、およびオブジェクトは保存できますが、ストレージ前に

を使用して文字列に変換し、検索時に
    を使用して
  • localStorage.setItem()JSON.stringify()JSON.parse()
  • データを取得する必要があります。 値を文字列として返すか、キーが存在しない場合は
。 JSONオブジェクトをオブジェクトに戻すことを忘れないでください。その原点のために保存されているすべてのアイテムを削除します。
<code class="javascript">// Store a name
localStorage.setItem('userName', 'John Doe');

// Store an object (must stringify)
let user = { name: 'Jane Doe', age: 30 };
localStorage.setItem('userData', JSON.stringify(user));</code>
  • localStorage.getItem()null
  • データの存在をチェックします。
<code class="javascript">// Retrieve the name
let name = localStorage.getItem('userName');
console.log(name); // Output: John Doe

// Retrieve and parse the object
let retrievedUser = JSON.parse(localStorage.getItem('userData'));
console.log(retrievedUser); // Output: { name: 'Jane Doe', age: 30 }</code>
を使用してキーが存在するかどうかを確認し、結果が
    であるかどうかを確認できます。 あるいは、
    • クライアント側のストレージ:データはクライアントのマシンに保存されているため、クライアント側の攻撃に対して脆弱になります。ユーザーのブラウザで実行されている悪意のあるスクリプトは、保存されたデータにアクセスして操作する可能性があります。これは、パスワードや個人を特定できる情報(PII)などの機密情報が保存されている場合に特に懸念されます。 敏感なデータをローカルストレージに直接保存しないでください。
    • クロスサイトスクリプト(XSS):ウェブサイトがXSS攻撃に対して脆弱な場合、攻撃者はローカルストレージからデータにアクセスして盗む悪意のあるJavaScriptコードを注入できます。 XSSの脆弱性を軽減するには、堅牢な入力検証と出力エンコードが重要です。 ブラウザはカジュアルなアクセスに対するある程度の保護を提供する可能性がありますが、マシンへの物理的なアクセスを備えた決定された攻撃者は、データを取得する可能性があります。
    • 限定制御:開発者は、ブラウザがローカルストレージデータを処理する方法を制御しています。 ブラウザには、ストレージクォータの管理とデータのクリアを管理するための独自のメカニズムがあり、保存された情報の可用性に潜在的に影響を与える可能性があります。
    • ブラウザー拡張を介したデータリーク:悪意のあるブラウザー拡張機能は、ローカルストレージからデータにアクセスして抽出できる可能性があります。
    機密データの保存を避けないでください:

    ローカルストレージに非敏感で一時的なデータのみを保存します。サーバー側のデータベースまたは暗号化されたストレージメカニズム。その適合性は、アプリケーションの特定のニーズに依存します。比較は次のとおりです

    Feature HTML5 Local Storage Session Storage Cookies Server-Side Databases IndexedDB
    Storage Location Client-side Client-side Client-side Server-side Client-side
    Persistence Persistent Session-based Persistent (configurable) Persistent Persistent
    Size Limit ~5MB-10MB (browser dependent) ~5MB-10MB (browser dependent) ~4KB (per cookie) Virtually unlimited Much larger than local storage
    Access Same origin Same origin Same origin Network request required Same origin
    Security Vulnerable to XSS Vulnerable to XSS Vulnerable to XSS, susceptible to manipulation More secure Relatively secure
    Data Type Key-value pairs Key-value pairs Key-value pairs Structured data Structured data

    要するに:

    • ローカルストレージ:クライアントが容易にアクセスできる必要がある永続的で非敏感なデータの少量に最適です。主にユーザーセッションと追跡設定を管理するために、しかしサイズとセキュリティの懸念が制限されています。
    • サーバー側のデータベース:
    • ネットワークアクセスを必要とする永続的で大規模なデータセットの最も安全なオプション。インデックス付け。
    • HTML5ローカルストレージを使用して、大量のデータを効率的に保存できますか?
    • 大量のデータを効率的に保存できます。 ブラウザの制限により、通常、ストレージ容量をいくつかのメガバイトに制限します(5MB-10MB、ブラウザーとデバイスによって異なります)。 大幅に多くのデータを保存しようとすると、パフォーマンスの問題と潜在的なストレージクォータの例外が生じる可能性があります。
    • 大規模なデータセットについては、次の代替案を検討してください。大きなデータセット。 堅牢なスケーラビリティ、インデックス作成、およびクエリ機能を提供します。 かなりの量のデータをローカルで保存および管理する必要があるオフラインアプリケーションに最適です。

    圧縮技術:

    ローカルストレージ(またはIndexEdDB)にデータを保存する前に、GZIPやBrotliなどのテクニックを使用してデータを圧縮してサイズを縮小し、ストレージ効率を改善します。 ただし、圧縮によりオーバーヘッドの処理が追加されることを忘れないでください。

    要約すると、HTML5ローカルストレージは少量の永続的なデータに役立ちますが、大規模なデータストレージに適したツールではありません。 データのサイズ、タイプ、およびセキュリティ要件に基づいて、より適切なソリューションを選択してください。

以上がデータにHTML5ローカルストレージを使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。