的题解见https://blog.csdn.net/weixin_39998158/article/details/100558026,说的是投票网站vote.php,限制一个用户只能投一次票是基于识别IP的。php识别客户端IP有一个函数()
function getIP()
{
static $realip;
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}
return $realip;
}
其中X_FORWARDED_FOR(又称XFF)是可以伪造从而欺骗的。
当客户端直接连接到服务器时,其 IP 地址被发送给服务器(并且经常被记录在服务器的访问日志中)。但是如果客户端通过正向或反向代理服务器进行连接,服务器就只能看到最后一个代理服务器的 IP 地址,这个 IP 通常没什么用。如果最后一个代理服务器是与服务器安装在同一台主机上的负载均衡服务器,则更是如此。
X-Forwarded-For的出现,就是为了向服务器提供更有用的客户端 IP 地址。
解题
我们抓取投票的POST / GET报文,添加X-Forwarded-For:172.16.0.1
- THE END -
最后修改:2023年10月16日
共有 0 条评论