Какво всъщност е stats2.gif
В папката с изображения на този проект има файл с име stats2.gif. Той е 366 байта, с дата март 2018 г., и се среща в точно нула реда изходен код. На 23 август 2026 г. е бил изпратен 2 735 пъти с код 200 от 145 различни уебсайта — а за целия цикъл на ротация на дневника на достъпа от 858.
Файл, към който никой не препраща, изтеглян хиляди пъти на ден от стотици чужди страници. Очевидното тълкуване: старо вграждане, което хората така и не са заменили и което тихо сервира статично изображение там, където някога е имало брояч. Статичните файлове изцяло заобикалят PHP. Нищо, което стига директно до Apache, не може да брои каквото и да е.
Затова написахме инструмент. Той чете от дневника всяка препращаща страница, изтегля всяка от тях чрез същата проверка, която сайтът вече използва за диагностика на вграждането — с нейните защити срещу SSRF, защото тези адреси идват от дневник, а не от нас — и търси дали нещо на страницата наистина брои.
Всички 858 страници
| вече броят (до значката има работещо вграждане) | 501 |
| изобщо недостъпни | 288 |
| значката е налице, но в изходния код няма номер на брояч | 69 |
| само старата значка, нищо не брои | 0 |
Нито една. Седемдесет и пет минути изтегляне и отговорът беше „не“.
Измерването, което отнема една секунда
stats2.gif е с размер 13 на 14 пиксела.
Това не е брояч, нито значка с число върху нея. Това е малката иконка за статистика — същото, което пресъздава дизайн 981 в сегашната галерия, а коментарът в изходния код на този дизайн описва точно своя предшественик: без видимо число, само малък знак, който при кликване отваря статистиката. Файлът никога не е бил предназначен да брои. На тези страници винаги е броило нещо друго.
Файлът също не е повреден. Той отговаря с 200, заглавка Last-Modified от 2018 г. и едногодишен срок в кеша. Върши си работата.
Едно извикване на getimagesize() решава целия този въпрос за секунда. Тук въпросът беше „защо този файл се изтегля толкова често“, предполагаемият отговор беше „защото е повреден брояч“, а всичко след това почиваше на предположението, а не на файла — и точно затова проверката от една секунда си струва да се направи първа.
Единственото нещо, което наистина е повредено
От всичко това дневникът показа един-единствен истински дефект: един адрес, заявяван десет пъти на ден, всеки път с 410, при който цял фрагмент от кода за вграждане е попаднал във връзката, в нейния href. Някой е поставил кода в поле, което екранира HTML. Броячът му е жив и брои — само собствената му връзка към собствената му статистика не води наникъде.
Инструментът остава, но без частта си за запис. Въпросът беше основателен; отговорът е „не“; и двете си струва да бъдат запазени, за да не се налага никой отново да го задава на ръка.