0
我想知道使用此代碼有多安全。尤其是$_SERVER['REMOTE_ADDR']
和$_SERVER['HTTP_USER_AGENT']
我一直在做這方面的一些研究。 據我可以告訴它應該是安全的比較像我這裏做的變量? 我應該只在使用它們來運行sql查詢或在我的頁面上顯示其內容時擔心它們的值?
根據我在哪裏使用它們,我應該運行mysqli_real_escape_string
或htmlspecialchars
。
什麼時候應該使用trim
或stripslashes
函數?
我只是試圖保護我的網站免受最明顯/常見的黑客入侵。不需要巨大的保護,但我希望它至少有安全保障!
任何我忽略或做錯的事情? 有沒有任何指導可以解釋大部分內容?
session_start();
if (!isset($_SESSION['logged_in'])) {
$_SESSION['logged_in'] = false;
$_SESSION['ip_address'] = $_SERVER['REMOTE_ADDR'];
$_SESSION['user_agent'] = (isset($_SERVER['HTTP_USER_AGENT'])) ? $_SERVER['HTTP_USER_AGENT'] : '';
} else {
if ($_SESSION['ip_address'] !== $_SERVER['REMOTE_ADDR'] || ($_SESSION['user_agent'] !== $_SERVER['HTTP_USER_AGENT'])) {
session_destroy();
header('Location: view/index.php');
die();
}
}
你的意思是'$ _SERVER',而不是'$ _SESSION'。 – Barmar
'$ _SERVER ['REMOTE_ADDR']'來自網絡服務器,告訴你連接的IP是什麼。 '$ _SERVER ['HTTP_X']'值來自客戶端發送的HTTP頭,可以用任何方式操縱。這些值不應該被信任,應該像普通用戶輸入那樣處理。 –
是啊,哎呀,固定 –