繁体   English   中英

客户端IP地址受到XSS攻击

[英]XSS attack in client's IP address

我想统计网页上的唯一身份访问者。 我使用以下功能获取客户端的IP:

$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()函数)攻击。

考虑到您期望的数据类型是IP,您只需验证该特定数据类型,即可将以下内容添加到代码中

if(filter_var($ipaddress, FILTER_VALIDATE_IP)) return $ipaddress;
else return "Unknown";

这基本上验证了它是一个实际的IP,因此没有SQL Injection攻击媒介或XSS可以通过它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM