Файл, который мы назвали сломанным
В папке изображений этого проекта лежит файл stats2.gif. Он весит 366 байт, датирован мартом 2018 года и встречается ровно в нуле строк исходного кода. 23 августа 2026 года его отдали 2735 раз с кодом 200, со 145 разных сайтов — а за полный оборот журнала доступа с 858.
Файл, на который никто не ссылается, забираемый тысячи раз в день с сотен чужих страниц. Очевидное прочтение: старая вставка, которую никто не заменил, тихо отдающая статичную картинку там, где когда-то был счётчик. Статичные файлы полностью обходят PHP. Ничто, что попадает прямо в Apache, не может ничего посчитать.
Мы написали инструмент. Он читает из журнала каждую ссылающуюся страницу, забирает каждую тем же проверяльщиком, который сайт уже использует для диагностики вставок — с его защитой от SSRF, потому что эти адреса приходят из журнала, а не от нас — и смотрит, считает ли на странице хоть что-нибудь по-настоящему.
Все 858 страниц
| уже считают (рядом работающая вставка) | 501 |
| вообще недостижимы | 288 |
| значок есть, номера счётчика в исходнике нет | 69 |
| только старый значок, ничего не считает | 0 |
Ни одной. Семьдесят пять минут выкачивания, чтобы не найти ничего.
Измерение, которое заняло бы секунду
stats2.gif имеет размер 13 на 14 пикселей.
Это не счётчик и не значок с числом. Это маленькая иконка статистики — ровно то, что воспроизводит дизайн 981 в нынешней галерее, и комментарий в его собственном исходнике описывает предка точно: никакого видимого числа, только маленький знак, который по нажатию открывает вашу статистику. Он никогда не должен был считать. На тех страницах всегда считало что-то другое.
И сломанным файл тоже не является. Он отвечает кодом 200, с заголовком Last-Modified из 2018 года и годовым сроком жизни в кэше. Он делает свою работу.
Один вызов getimagesize() в начале закрыл бы всю эту линию расследования до того, как инструмент был написан. Вместо этого вопрос звучал «почему этот файл так часто забирают», принятый ответ был «потому что это сломанный счётчик», и всё дальнейшее следовало из предположения, которое никто не проверил.
Единственное, что действительно сломано
Из всего этого журнал показал один настоящий дефект: один адрес, запрашиваемый десять раз в день, все с кодом 410, в котором целый фрагмент вставки оказался внутри href ссылки. Кто-то вставил код в поле, экранирующее HTML. Его счётчик жив и считает — в никуда ведёт только его собственная ссылка на его собственную статистику.
Инструмент остаётся, без пути записи. Вопрос был законным, ответ — «нет», и то и другое стоит сохранить, чтобы никому не пришлось задавать его вручную ещё раз.