Plik, który nazwaliśmy zepsutym
W katalogu obrazków tego projektu leży plik stats2.gif. Ma 366 bajtów, datę z marca 2018 i występuje w dokładnie zerowej liczbie linijek kodu. 23 sierpnia 2026 roku wydano go 2735 razy ze statusem 200, ze 145 różnych witryn — a w całym obrocie logu dostępu z 858.
Plik, do którego nikt się nie odwołuje, pobierany tysiące razy dziennie z setek cudzych stron. Nasuwający się wniosek: stare osadzenie, którego nikt nie wymienił, po cichu podające statyczny obrazek tam, gdzie kiedyś był licznik. Pliki statyczne omijają PHP w całości. Nic, co trafia prosto do Apache, nie może niczego policzyć.
Napisaliśmy więc narzędzie. Czyta z logu każdą stronę odsyłającą, pobiera każdą z nich tym samym sprawdzaczem, którego serwis używa do diagnostyki osadzenia — z jego zabezpieczeniami SSRF, bo te adresy pochodzą z logu, a nie od nas — i szuka, czy cokolwiek na stronie naprawdę liczy.
Wszystkie 858 stron
| już liczą (działające osadzenie obok) | 501 |
| w ogóle nieosiągalne | 288 |
| odznaka jest, brak numeru licznika w źródle | 69 |
| tylko stara odznaka, nic nie liczy | 0 |
Ani jedna. Siedemdziesiąt pięć minut pobierania, żeby nie znaleźć nic.
Pomiar, który zająłby sekundę
stats2.gif ma 13 na 14 pikseli.
To nie licznik i nie odznaka z liczbą. To mały symbol statystyk — dokładnie to, co odtwarza wzór 981 w obecnej galerii, a komentarz w jego własnym źródle opisuje przodka precyzyjnie: żadnej widocznej liczby, tylko mały znak, który po kliknięciu otwiera Twoje statystyki. Nigdy nie miał liczyć. Na tamtych stronach zawsze liczyło coś innego.
Plik też nie jest zepsuty. Odpowiada statusem 200, z nagłówkiem Last-Modified z 2018 roku i rocznym czasem życia w pamięci podręcznej. Robi swoje.
Jedno wywołanie getimagesize() na początku zakończyłoby cały ten wątek, zanim powstało narzędzie. Zamiast tego pytanie brzmiało „dlaczego ten plik jest tak często pobierany", przyjęta odpowiedź brzmiała „bo to zepsuty licznik", a wszystko dalej wynikało z założenia, którego nikt nie sprawdził.
Jedyna rzecz, która naprawdę jest zepsuta
Z całości log pokazał jedną prawdziwą usterkę: jeden adres, żądany dziesięć razy dziennie, wszystkie ze statusem 410, w którym cały fragment osadzenia wylądował wewnątrz href odnośnika. Ktoś wkleił kod w pole, które ucieka znaki HTML. Jego licznik żyje i liczy — nie prowadzi donikąd tylko jego własny odnośnik do jego własnych statystyk.
Narzędzie zostaje, bez ścieżki zapisu. Pytanie było zasadne, odpowiedź brzmi „nie", i jedno i drugie warto zachować, żeby nikt nie musiał pytać o to jeszcze raz ręcznie.