ホームページ > ウェブフロントエンド > uni-app > UNI-APPでローカルストレージを処理するにはどうすればよいですか?

UNI-APPでローカルストレージを処理するにはどうすればよいですか?

Robert Michael Kim
リリース: 2025-03-11 19:12:04
オリジナル
473 人が閲覧しました

UNI-APPでローカルストレージを処理します

UNI-APPは、 uni.setStorageSync()およびuni.getStorageSync() APIを介してローカルストレージへのアクセスを提供します。これらのAPIは、WebブラウザーのLocalStorageと同様に機能します。 uni.setStorageSync()使用すると、キーと値のペアを保存できます。キーは文字列であり、値は文字列、数字、ブール、オブジェクト、または配列です。ただし、値がストレージ前にストリング化されることを覚えておくことが重要です。これは、複雑なオブジェクトをJSON.parse() JSON.stringify()を使用してストレージする必要があることを意味します。

これらのAPIの使用方法の例は次のとおりです。

 <code class="javascript">// Store data uni.setStorageSync('userName', 'John Doe'); uni.setStorageSync('userAge', 30); uni.setStorageSync('userSettings', JSON.stringify({ theme: 'dark', notifications: true })); // Retrieve data let userName = uni.getStorageSync('userName'); let userAge = uni.getStorageSync('userAge'); let userSettings = JSON.parse(uni.getStorageSync('userSettings')); console.log(userName, userAge, userSettings);</code>
ログイン後にコピー

Uni-appは、これらの関数の非同期バージョンを提供します: uni.setStorage()およびuni.getStorage() 。これらは、メインスレッドのブロックを避けるために、潜在的に長い操作が望ましいです。非同期バージョンは約束を返します。

UNI-APPでローカルストレージを使用するためのベストプラクティス

UNI-APPプロジェクト内でローカルストレージの効率的かつ信頼できる使用を確保するには、これらのベストプラクティスに従ってください。

  • 記述キーを使用します:保存するデータを明確に示すキーを選択します。略語や不可解な名前を避けてください。
  • データサイズの制限:ローカルストレージにはサイズの制限があります(通常は5MB前後)。大量のデータを保存しないでください。大規模なデータセット用のデータベースやサーバー側のストレージなどの代替ソリューションを検討してください。
  • データ検証:ローカルストレージから取得したデータを常に検証します。 JSON.parse()のような潜在的なエラーを優雅に処理します。
  • データの消毒:クロスサイトスクリプティング(XSS)攻撃などの脆弱性を防ぐために、保存する前にユーザーが提供するデータを消毒します。
  • 非同期方法を使用します:特により大きなデータを使用すると、パフォーマンスを向上させるために、同期対応物よりもuni.setStorage()およびuni.getStorage()を好みます。
  • エラーの処理:障害を優雅に処理するために、ストレージ操作に適切なエラー処理を実装します。
  • 未使用のデータをクリアする:過度のストレージの使用を防ぐために、未使用のデータを定期的にクリアします。

UNI-APPのローカルストレージを使用して、機密データを安全に保存します

ローカルストレージは、パスワード、クレジットカード番号、個人識別情報などの機密データを保存するのに適していません。ローカルストレージデータは、デバイスにアクセスできる悪意のあるアクターに簡単にアクセスできます。

機密データを保存するには、より安全なオプションの使用を検討してください。

  • 暗号化:ローカルストレージに保存する前に、機密データを暗号化します。ただし、暗号化があっても、セキュリティは暗号化アルゴリズムの強度と暗号化キーのセキュリティに大きく依存します。侵害されたキーはデータを危険にさらします。
  • バックエンドストレージ: HTTPSを使用してセキュアサーバーに機密データを保存します。データはユーザーのデバイスで直接アクセスできないため、これは最も安全な方法です。
  • セキュアエンクレーブ(利用可能な場合):デバイスがサポートしている場合は、セキュアなエンクレーブを使用して機密データを保存します。 Secure Enclavesは、ハードウェアレベルのセキュリティレイヤーを提供します。
  • ローカルストレージを完全に避けてください。機密情報のために、ベストプラクティスは多くの場合、ローカルストレージを完全に回避し、セキュアなサーバー側のストレージのみに依存することです。

他のストレージオプションと比較して、uni-appでローカルストレージを使用することの制限

他のストレージオプションと比較して、UNI-APPのローカルストレージにはいくつかの制限があります。

  • 限られたストレージ容量:前述のように、ローカルストレージの容量は比較的少なく、通常は約5MBです。
  • データセキュリティの懸念:機密データのためにローカルストレージは安全ではありません。
  • データ管理機能の欠如:ローカルストレージは、データベースにあるデータインデックス、クエリ、バージョンのバージョンなどの機能を提供しません。
  • デバイス固有のストレージ:データは、保存されている特定のデバイスでのみ使用できます。デバイス間で同期されていません。

ローカルストレージの代替品は次のとおりです。

  • Unicloud(バックエンドデータベース):より大きなデータセットとセキュアストレージの場合、UnicloudはUNI-APPと統合されたバックエンドデータベースサービスを提供します。
  • Webストレージ(Webビュー用): UNI-APPにWebビューが含まれている場合、ブラウザベースのlocalStorageまたはsessionStorageを使用する場合があります。しかし、このアプローチにはセキュリティの懸念もあります。
  • サードパーティのデータベース:より堅牢なデータ管理機能を得るために、サードパーティのデータベース(sqliteなど)と統合します。これには、より多くの開発努力が必要です。

適切なストレージソリューションを選択すると、データの規模、セキュリティ、データ管理のニーズに関するアプリケーションの要件に依存します。ほとんどの機密データには、バックエンドデータベースを強くお勧めします。

以上がUNI-APPでローカルストレージを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート