У меня есть простой счетчик посещений PHP на основе сеанса на веб-сайте. Проблема в том, что он, кажется, добавляет фантомные попадания всякий раз, когда я открываю веб-сайт в течение некоторого времени (даже без перезагрузки), поэтому я думаю, что тайм-аут сеанса установлен на очень короткое время где-то на сервере. Тем не менее, я проверил php.ini, и тайм-аут составляет стандартные 24 минуты, в то время как фантомные попадания добавляются каждые три минуты или около того.
Веб-сайт еще не имеет именных серверов, указывающих на него, ничего на него не ссылается, так что это не проблема роботов/краулеров. Вот мой код:
$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 "-" "-"
Я получаю один каждые пять минут или около того, что примерно соответствует тому, как часто добавляются фантомные хиты. Что же они такое?
session_start()
? И где сейчас находится сайт? Почему бы не зафиксировать некоторую информацию об атаке (дата, время, IP-адрес) и не записать ее в свой журнал, чтобы увидеть, что происходит? - person random_user_name   schedule 07.11.2012