2

ログイン時にPHPセッションを使用してユーザーIDを決定し、長期ログイン用のCookieを使用するフォーラムを作成しました。

2 つの質問があるとします。

  1. これは最善/最も安全な方法ですか?
  2. Cookie は JavaScript を使用してアドレス バーから手動で追加できますが、これは大きなセキュリティ リスクです。これを回避する方法はありますか?

ありがとう!

4

1 に答える 1

3

まず、http ではなく https を使用していることを確認します。これにより、トラフィックが傍受されて悪用されるのを防ぐことができます。

次に、Cookie でトークンとして使用する値をできるだけランダムに生成します。これは、多くの大手サイトがユーザー トラッキングを行っている方法です。ID を追跡するサーバー側のユーザーへのトークンのマップを用意します。注意: クライアントから送信されるものはすべて信頼されておらず、改ざんされる可能性があります。

3 番目に、HMACを使用して、改ざんをより困難にします。ユーザーが他のトークンをブルート フォースできるようにしたくありません。

編集:

このシステムを構築する際に、これらの他の SO の質問/回答が役立つ場合があります。

  1. トークンの作成と使用に関する詳細 (必ずしも REST サービスである必要はありません): REST Web サービス認証トークンの実装

  2. 適切なトークンの作成 (マイクロタイムを使用しないでください): microtime() を使用してパスワード リセット トークンを生成するのは悪い習慣です

于 2013-04-12T22:30:28.810 に答える