これは「OMG EVERYTHING IS BREAKING」ではなく、「何が起こっているのか?」です。
一意のヒットをカウントするこの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 はファイルの名前でもパスでもありません。)
Cloudflare を回避できるように HTTP_X_FORWARDED_FOR (それ以外の場合は、Cloudflare の IP を投稿するだけです)