2012-03-24 34 views
1

クライアント側で保護されたデータをキャッシュする方法はありますかユーザーが変更することはできませんサーバー側で再度使用することは安全ですか?セキュリティ保護されたデータクライアントサイドキャッシュ?

また、ユーザーによる変更がある場合は、利用可能である必要がありますが、元のデータではないとフラグが立てられている可能性があります。

+0

でも、クライアント側の操作はいつでも一方的にハックすることができます。 ["安全なCookie"](http://thinkvitamin.com/code/how-to-create-totally-secure-cookies/)または["サイン付きCookie"](http://コードは – SpYk3HH

答えて

1

短答 - いいえ。 長い答え - おそらくWebストレージ/ indexedDB/Web SQLデータベースを、何らかの種類の塩漬けされたハッシュと組み合わせて使用​​して、後でそのオブジェクトが変更されていないことを確認することができます。

  1. ユーザーにサーバー側の塩とハッシュオブジェクト
  2. 送信対象とハッシュ
  3. オブジェクトを取得し、バックユーザー
  4. ハッシュからあなたが再び戻って、ユーザから得たオブジェクトをハッシュし、ハッシュであることを確認してくださいあなたが戻ってユーザーから
+0

です。この塩はスクリプトで利用可能です。 – Trevor

+0

いいえ、塩はバックエンドに保存し、ハッシュのみをフロントエンドに送る必要があります。 – valentinas

2

を得たものに等しいことがSAFであるように、それはユーザによって変更することができないようなクライアント側で保護されたデータをキャッシュする任意の方法があります。サーバー側でもう一度使用しますか?

データたら、いいえは、あなたがゲームを失ってしまった、クライアントのローカルです。

ユーザーによって変更があった場合は、利用可能である必要がありますが、元のデータではないとフラグされている可能性があります。

このデータには、サーバーのみが知っているキーで署名することができます。暗号署名では、誰でも署名者の身元を確認できますが、秘密鍵を持つ人だけが「正しい」署名を生成できます。

1

クライアント側のストレージはに制限されているので - localStorage/sessionStorageは、indexedDB(低サポート)(「サポートを主張」)、そしてもちろんcookiesはありません、保存されたデータを保護する方法はありません、簡単にアクセスできますwebsql(低サポート)いくつかのJSメソッドを使用してデータを暗号化しても、そのメソッドはハッカーによって検出される可能性があります。 HMACを使用してデータを保護する唯一の真の方法は、サーバー側です。