Web サイトの管理パネルを構築していて、認証コードが書かれていますが、それがどれほど安全かはわかりません。
これはログイン スクリプトではありませんが、ログイン スクリプトによって設定されたいくつかのセッション変数を利用します。
とにかく、ここにあります。チェックしていただければ幸いです(:
if (isset($_SESSION['logged_in'])) {
//Prevent hijacking of the session
$recreatesignature = $_SESSION['signature']; //signature (old)
$recreatessalt = $_SESSION['salt']; //session salt (old)
$useragent = $_SERVER['HTTP_USER_AGENT']; //useragent (new)
$ip = $_SERVER['REMOTE_ADDR']; //ip (new)
$signature = $salt.sha1($ip.$recreatessalt.$useragent); //signature (hash)
//Compare signatures
if (!($recreatesignature==$signature)) {
header(sprintf("Location: %s", $domain));
exit();
}
//Session timeout
if ((isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > $sessiontimeout))) {
//destroy session
session_destroy();
session_unset();
//redirect to home page
header(sprintf("Location: %s", $domain));
}
$_SESSION['LAST_ACTIVITY'] = time();
//Generate new session id to make hijacking harder
session_regenerate_id(TRUE);
}