这与其说是“天哪,一切都在崩溃”,不如说是“这里发生了什么?”
找到这个 php 代码来计算唯一命中 - 基本上它所做的就是将 IP 放入一个文本文件中,然后计算该文件中有多少个唯一 IP。
$filename = "/XXX/XXX/public_html/XXX.txt";
if (!file_exists($filename))
{
$fd = fopen($filename, "w+");
fclose($fd);
}
$file = file($filename);
$file = array_unique($file);
$hits = count($file);
$fd = fopen($filename, "r");
$fstring = fread($fd, filesize($filename));
fclose($fd);
$fd = fopen($filename, "w");
$fcounted = $fstring . "
" . $_SERVER["HTTP_X_FORWARDED_FOR"];
$fout = fwrite($fd, $fcounted);
fclose($fd);
但是,在某些情况下,我会注意到一些 IP 以逗号分隔对的形式插入。
通常,它会是:
1.1.1.1
2.2.2.2
3.3.3.3
但是,有几行是这样的:
1.1.1.1,2.2.2.2
由于代码在 99% 的情况下都可以顺利运行,并且逗号分隔仅在极少数情况下发生,因此我倾向于相信它不是代码。有任何想法吗?(不,XXX 不是文件的名称,也不是文件的路径。)
HTTP_X_FORWARDED_FOR 所以它可以绕过 Cloudflare(否则它只会发布 Cloudflare 的 IP)