0
我想统计网页上的唯一身份访问者。我得到使用客户端的IP如下功能:客户端IP地址中的XSS攻击
$ipaddress = '';
if ($_SERVER['HTTP_CLIENT_IP'])
$ipaddress = $_SERVER['HTTP_CLIENT_IP'];
else if($_SERVER['HTTP_X_FORWARDED_FOR'])
$ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
else if($_SERVER['HTTP_X_FORWARDED'])
$ipaddress = $_SERVER['HTTP_X_FORWARDED'];
else if($_SERVER['HTTP_FORWARDED_FOR'])
$ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
else if($_SERVER['HTTP_FORWARDED'])
$ipaddress = $_SERVER['HTTP_FORWARDED'];
else if($_SERVER['REMOTE_ADDR'])
$ipaddress = $_SERVER['REMOTE_ADDR'];
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
我应该调用其htmlspecialchars()
功能,将其插入到数据库之前?我听说有可能操纵标题和更改IP地址以添加到它XSS或SQL注入(我已经呼叫real_escape_string()
函数)攻击。
您应该**从不** ** HTML转义您存储在数据库列中的值。将连接成该格式时,应该只能转义文本。你需要了解逃避手段。 – SLaks 2014-11-02 18:54:15
@SLaks我想在管理员视图中显示它(此IP)。所以它有可能成为攻击的载体 – TN888 2014-11-02 18:55:25
将它连接成HTML是一个问题。将它存储在数据库中不是。 (尽管你需要使用参数) – SLaks 2014-11-02 18:59:04