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つ取得します。これは、ファントムヒットが追加される頻度についてです。彼らは一体何ですか?