Triplex Systemsの開発メモです。開発の手順・開発に関するTipsをまとめます。

セッションハイジャックの予防策

  • アクセスの度にセッションIDを再発行する
  • ただし、セッションのロストを防ぐために、一定時間以内は再発行しない
// 一定秒数以内のアクセスは、同一アクセスとみなし、再発行しない
$regenerateSessionInterval = 10;
// 前回のセッションID振り直しから一定時間経過している場合、振り直す
if (isset($_SESSION['Controller::lastRegenerateSessionTime'])) {
	if ($_SESSION['Controller::lastRegenerateSessionTime'] + $regenerateSessionInterval < time()) {
		session_regenerate_id(true);
		$_SESSION['Controller::lastRegenerateSessionTime'] = time();
	}
}
// 初回の場合、必ず振り直す
else {
	session_regenerate_id(true);
	$_SESSION['Controller::lastRegenerateSessionTime'] = time();
}

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

管理人/副管理人のみ編集できます