2012-12-19 17 views
10

私はJQuery.cookiesを使ってクッキーを管理しています。私はオブジェクトとユーザ/ログイン情報を保存しています。クッキーを保護することは可能ですか?

クッキーを暗号化または保護する方法はありますか?またはSSLのみで可能ですか?

+0

Asp.Netの意味ですか? – Haris

+0

[crypto.js](http://code.google.com/p/crypto-js/)のようなものかもしれません。しかし、JavaScriptをオンにしなければ使用できません。 –

+0

私が考えることのできる唯一のことは、クッキー内のデータを暗号化することです。しかし、これはサーバー側で実行する必要があります。クライアント側での暗号化はおそらくプレーン/テキストとして保存するだけでは安全ではありません。ハッカーはたぶん、すべての変数を知っているプロセスを逆にするでしょう。 – Daniel

答えて

9

Cookieを保護する一般的な方法は、ランダムに生成されたセッションIDだけを格納することです。サーバーはすべての機密情報を保持し、各訪問者に割り当てられたIDに関連付けます。これには、クッキーのスペース制限に縛られず、必要なだけ多くの情報を保存できるという利点もあります。

これはもちろん、Javascriptだけでは実行できません。そのためにはサーバ側のプログラミングが必要です。

+0

これは良いアイデアです。ありがとうございました –

3

単純に暗号化された文字列として保存することができます。一度それらを取得してから解読してください。秘密鍵を使用するすべての暗号化が行われます

+3

JavaScriptのどこかに秘密鍵が保存されていますか? –

+0

+1 @barts、私はちょうど同じことを書いていた –

+0

@Vuryので、間違いなく '同じ時間ポスターのバディ'バッジを導入する必要があります –

2

利用可能なすべてのオプションとsecureオプションを含むクッキーを作成します。

$.cookie('myCookie', 'myValue', { expires: 365, secure: true }); 

secure {Boolean} trueの場合は、クッキーの安全な属性が設定され、クッキーの送信が(HTTPSのような)安全なプロトコルが必要になります。

関連する問題