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头,可以用任何方式操纵。这些值不应该被信任,应该像普通用户输入那样处理。 –
是啊,哎呀,固定 –