0

私は現在、Web アプリケーションのセキュリティ面について学んでいます。

私のアプリケーションは、ログインの成功時に作成された Cookie によって現在のユーザーを識別していました。ユーザーのIDが含まれていました。ユーザーがデータベースにリクエストを送信するたびに、アプリケーションはその ID を使用して、この ID に関連付けられた結果のみを選択します。

しかし、私が学んだように、単にその Cookie の値を変更して別のユーザーのデータにアクセスすることはまったく問題ありません。

私の問題は次のとおりです。そのようなデータを安全に保存し、PHP と Javascript の両方で利用できるようにするにはどうすればよいでしょうか?

HTML5 の sessionStorage を考えましたが、これも脆弱です。

2 番目に考えたのは、PHP によって $_SESSION 変数にのみ格納することでしたが、Javascript を介してその値にアクセスできませんでした。

安全で機能的なユーザー管理システムを作成する方法の基本的な概念に頭を悩ませることができないように感じます.

どんな助けでも大歓迎です。

4

2 に答える 2

0

簡単な解決策:

  1. データベースに userKey フィールドを追加します。
  2. ユーザーがログインすると、ランダムな一意の文字列が生成され、DB に保存されます
  3. この文字列を Cookie に保存します。ユーザーIDをCookieに保存します。

次回のアクセス時に、対応する userKey と ID を持つデータベース ユーザーから選択します。

文字列はランダムであるため、ある程度安全です。ブルートフォースのみが役立ちます。

文字列を長くすると、ブルートフォースが難しくなります。

ソリューションはシンプルで、ID の暗号化、IP の確認などを使用してアップグレードできます。

于 2013-09-27T12:52:25.207 に答える