セッションを強化しようとしていますが、以下のコードが見つかりました。私の質問はこの行isset($_SESSION['last_ip']) !== $_SERVER['REMOTE_ADDR']
です。
比較をエコーアウトすると、IP番号は同じですが、そのコード行は2つを異なるものとして比較します。私がそれを比較すると!=
、比較は機能します。何故ですか?両方の値が完全に同一であるべきではありませんか?どうすれば修正できるの===
でしょうか?
ini_set('session.cookie_httponly', true);
session_start();
if ( isset($_SESSION['last_ip']) === false ) {
$_SESSION['last_ip'] = $_SERVER['REMOTE_ADDR'];
}
if ( isset($_SESSION['last_ip']) !== $_SERVER['REMOTE_ADDR'] ) {
echo $_SESSION['last_ip'] . ' / ' . $_SERVER['REMOTE_ADDR']; // the output is identical
}