我想知道使用此代码是多么安全。特别是$_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();
}
}
答案 0 :(得分:0)
$_SERVER['HTTP_USER_AGENT']
由网络服务器创建,安全可靠。它始终只是一个数字格式的IP地址,您无需对其进行清理。
{{1}}来自客户端,它可以包含任何内容。如果您要将其存储在数据库中或显示它,您需要将其视为任何其他用户提供的输入。