1 SessionID を通じて Web サイト内のユーザー情報を管理します
session_start(); $_SESSION['visits']++; print'You have visited here '.$_SESSION['visits'].' times.
'; echo'session id = '.$_COOKIE['PHPSESSID']; echo"
"; echo"session name = ".session_name()."
"; ?>
SessionID はグローバル変数 _COOKIE に記録されます。SessionID の名前は PHPSESSID であり、PHPSESSID は session_name() を通じて取得することもできます。
2 セッションハイジャックを防止します
ini_set('sessio.use_only_cookies', true); session_start(); $salt = 'YourSpecialValueHere'; $tokenstr = date('W').$salt; $token = md5($tokenstr); echo'token = '.$token.'
'; if(!isset($_REQUEST['token']) || $_REQUEST['token'] != $token) { exit; } $_SESSION['token'] = $token; output_add_rewrite_var('token', $token); echo'link'; ob_flush(); output_reset_rewrite_vars(); ?>
session_start(); output_add_rewrite_var('var', 'value'); echo'link'; ob_flush(); output_reset_rewrite_vars(); echo'link'; ?>以上例程会输出: <ahref="file.php?PHPSESSID=xxx&var=value">linka><ahref="file.php">linka>
3 セッションのカスタマイズを防止します
ini_set('session.use_only_cookie', true); session_start(); if(!isset($_SESSION['generated']) || $_SESSION['generated'] < (time() - 30)) { session_regenerate_id(); $_SESSION['generated'] = time(); } echo$_COOKIE['PHPSESSID']
以上、11 セッションとデータ保持について、その側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人の参考になれば幸いです。