Tôi đang cố gắng tăng cường các phiên của mình và tìm thấy mã bên dưới. Câu hỏi của tôi là dòng này isset($_SESSION['last_ip']) !== $_SERVER['REMOTE_ADDR']
.làm cứng phiên php - lỗi so sánh
Khi tôi phản đối việc so sánh các số IP giống nhau nhưng dòng mã đó so sánh hai số khác nhau. Nếu tôi so sánh nó như là !=
thì so sánh hoạt động. Tại sao vậy? Cả hai giá trị có hoàn toàn giống nhau không? Bất kỳ đề xuất làm thế nào tôi có thể sửa chữa nó để họ là ===
?
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
}
$ _SESSION ['last_ip'] có được điều khiển theo bất kỳ cách nào không? Giống như thêm dấu gạch chéo hoặc khoảng trắng thừa? –
@PRPGKhông, không chính xác như được hiển thị. (cập nhật câu hỏi) –
Phải có một số loại khác biệt nếu so sánh hoạt động, nhưng không giống nhau. có thể thử cắt cả hai giá trị? –