0

これは「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 を投稿するだけです)

4

0 に答える 0