1

Webサイトに単純なセッションベースのPHPヒットカウンターがあります。問題は、Webサイトをしばらく開いていると(リロードしなくても)ファントムヒットが追加されているように見えるため、サーバーのどこかでセッションタイムアウトが非常に短い時間に設定されていると考えています。ただし、php.iniを確認したところ、タイムアウトは標準の24分ですが、ファントムヒットは約3分ごとに追加されます。

ウェブサイトにはまだそれを指すネームサーバーがなく、リンクもありません。したがって、ロボット/クローラーの問題ではありません。これが私のコードです:

            $hit_file = file(__DIR__ . "/hit_file.txt");

            $hit_num = $hit_file[0];
            if(!isset($_SESSION['been']))

                {


                    $hit_num++;

                    $hit_write = fopen(__DIR__ . "/hit_file.txt", 'w');

                    fwrite($hit_write, $hit_num);

                    fclose($hit_write);

                    $_SESSION['been'] = 1;

                }

             echo $hit_num;

更新:奇妙なaccess.logエントリに気づきました。それらはすべて次の形式に従います:::1--- [06 / Nov / 2012:22:05:03 +0100] "GET / HTTP / 1.0" 200 3719 "-" "-"

私は5分ごとに1つ取得します。これは、ファントムヒットが追加される頻度についてです。彼らは一体何ですか?

4

2 に答える 2

1

::1はローカルホストのIPv6アドレスです。それが私があなただったら探し始めるところです。アプリの1つがこれらのリクエストを行っています。追跡するか$_SERVER['REMOTE_ADDR']、::1でないかどうかを確認してください。

于 2012-11-06T21:20:41.140 に答える
0

ログを見ると、検索エンジンのボット(および場合によっては他のボット)がサイトをクロールしていることがわかります。つまり、現在サイトが稼働している場合です。

于 2012-11-06T20:54:21.847 に答える