セッションハイジャック対策として、
session_regenerate_id(TRUE)を実装しました。
仕様は、
ログイン画面(login.php)で「ユーザー名」と「パスワード」。
OKなら、index.phpに遷移する仕様です。
それぞれ、以下の場所に
session_regenerate_id(TRUE);を記載しました。
場所は合っていますでしょうか?
仕組みを未だ理解しきれていないので、
なんとなくという状態です。
それぞれのsession_regenerate_id(TRUE)が
そこに記載するべき理由も教えて頂けると助かります。
よろしくお願い致します。
login.php
php
1<?php 2session_start(); 3 4if(isset($_POST['login'])){ 5try { 6//省略 7if(password_verify($pass, $pwd)){ 8 9session_regenerate_id(TRUE); 10 11$_SESSION['login'] = 'OK'; 12header('Location: index.php'); 13}else { 14$_SESSION['login'] = 'Error'; 15header('Location: login.php'); 16} 17}catch(PDOException $e){ 18$res = $e ->getMessage(); 19} 20} 21?>
index.php
php
1<?php 2 3session_start(); 4session_regenerate_id(TRUE); 5 6if($_SESSION['login'] != 'OK') { 7header('Location: login.php'); 8exit(); 9} 10 11//以下省略
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/12/07 06:35