モデル ビュー コントローラーの方法で認証ライブラリを作成する場合、最善かつ最も安全な方法は何ですか?
私が苦労しているのは、ユーザーのアクティビティを追跡し、Cookie を介してユーザーを記憶したり、データベースにセッションを保存したりすることですか?
前もって感謝します :)。
モデル ビュー コントローラーの方法で認証ライブラリを作成する場合、最善かつ最も安全な方法は何ですか?
私が苦労しているのは、ユーザーのアクティビティを追跡し、Cookie を介してユーザーを記憶したり、データベースにセッションを保存したりすることですか?
前もって感謝します :)。
セッションを使用する場合は、セッション固定やセッション ハイジャックなどの攻撃からセッションを保護します。
両方を防ぐには、認証されたリクエストのみがセッションを使用できるようにする必要があります。これは通常、クライアントに関する特定の (場合によっては固有の) 情報をできるだけ多く、セッションで連鎖させることによって行われます。ただし、一部の情報はリクエストごとに変更される可能性があるため (IP アドレスなど)、適切な情報を見つけるのが難しい場合があります。
これが、Trendingとして示されている方法を使用すると便利な理由です。
もう 1 つの適切な保護手段は、セッション ID を定期的に交換することです。したがって、有効なセッション ID に対する攻撃の期間は短くなります。
これを実装する最も簡単な方法は、PHP SESSIONS を使用することです。
ただ session_start (); スクリプトの冒頭近くにあり、認証データを保持するために $_SESSION グローバル配列にアクセスできます。
サーバーの構成に応じて、$_SESSION に格納されているすべてのデータは、ホストされているサーバーでのみ利用できます (例外はほとんどありません)。一時ディレクトリ、memcached、またはデータベースに保存するように構成できます。
クライアントとサーバーの間で送信される唯一のものは「セッション キー」です。キーは、Cookie または URL 書き換え (start_session 出力バッファーによって透過的に処理される) によって渡すことができます。