重複の可能性:
セッションハイジャックの防止
Webアプリケーションのログインおよび認証システムをコーディングしており、PHP
セッションハイジャックを防ぐためのベストプラクティスを探しています。ログインページセットのセッション:
$_SESSION['email_address'] = $_POST['email_address'];
$_SESSION['ip_address'] = $_SERVER['REMOTE_ADDR'];
次に、すべてのページとアクションで、セッションが存在し、セッションに格納されているIPアドレスが$_SERVER['REMOTE_ADDR']のIPアドレスと一致していることを確認します。
if(isset($_SESSION['email_address']) && isset($_SESSION['ip_address']) && $_SESSION['ip_address'] == $_SERVER['REMOTE_ADDR']) {
//valid auth
}
ただし、オンラインで読むと、IPアドレスを確認するだけでは不十分だと言う人もいます。他に何が必要ですか?また、を使用するという話もありsession_regenerate_id()
ます。それは私のコードにどのように影響しますか?session_regenerate_id()
すべてのページに電話しますか?
ありがとう。