Kas iš tiesų yra stats2.gif
Šiame straipsnyje
Šio projekto paveikslėlių aplanke yra failas pavadinimu stats2.gif. Jis užima 366 baitus, datuotas 2018 m. kovu ir neminimas nė vienoje pradinio kodo eilutėje. 2026 m. rugpjūčio 23 d. jis pateiktas 2 735 kartus su 200 iš 145 skirtingų svetainių — o per visą prieigos žurnalo rotacijos laikotarpį – iš 858.
Failas, į kurį niekas neturi nuorodos, tūkstančius kartų per dieną gaunamas iš šimtų svetimų puslapių. Akivaizdi išvada: senas įterpimo kodas, kurio žmonės niekada nepakeitė, tyliai pateikia statinį paveikslėlį ten, kur anksčiau buvo skaitiklis. Statiniai failai visiškai aplenkia PHP. Niekas, kas tiesiogiai pasiekia Apache, negali nieko skaičiuoti.
Todėl parašėme įrankį. Jis iš žurnalo perskaito kiekvieną nukreipiantį puslapį, kiekvieną gauna per tą patį tikrintuvą, kurį svetainė jau naudoja įterpimo diagnostikai — su jo SSRF apsaugomis, nes tie adresai gauti iš žurnalo, o ne iš mūsų, — ir ieško, ar kas nors puslapyje iš tiesų skaičiuoja.
Visi 858 puslapiai
| jau skaičiuoja (greta veikiantis įterpimas) | 501 |
| visai nepasiekiami | 288 |
| ženklelis yra, šaltinyje nėra skaitiklio numerio | 69 |
| tik senas ženklelis, niekas neskaičiuoja | 0 |
Nė vieno. Septyniasdešimt penkios minutės gavimo užklausų, ir atsakymas – ne.
Matavimas, trunkantis vieną sekundę
stats2.gif yra 13 × 14 pikselių.
Tai nėra nei skaitiklis, nei ženklelis su skaičiumi. Tai maža statistikos piktograma — ta pati, kurią atkuria dabartinės galerijos 981 dizainas, o to dizaino kodo komentaras tiksliai aprašo jo pirmtaką: jokio matomo skaičiaus, tik mažas ženklas, kurį spustelėjus atidaroma statistika. Jis niekada neturėjo skaičiuoti. Tuose puslapiuose visada skaičiavo kažkas kita.
Failas taip pat nesugedęs. Jis atsako 200 su Last-Modified iš 2018 m. ir vienų metų podėlio trukme. Jis atlieka savo darbą.
Vienas kreipimasis į getimagesize() per sekundę išsprendžia visą tą tyrimo kryptį. Čia klausimas buvo „kodėl šis failas taip dažnai gaunamas“, numanytas atsakymas – „nes tai sugedęs skaitiklis“, ir visa, kas vyko toliau, rėmėsi prielaida, o ne failu — todėl vienos sekundės patikrą verta atlikti pirmiausia.
Vienintelis dalykas, kuris iš tiesų sugedęs
Iš viso to žurnalas parodė vieną tikrą trūkumą: vieną adresą, prašomą dešimt kartų per dieną, visada su 410, kur visas įterpimo fragmentas atsidūrė nuorodos atribute href. Kažkas įklijavo kodą į lauką, kuris ekranuoja HTML. Jų skaitiklis gyvas ir skaičiuoja — tik jų pačių nuoroda į savo statistiką niekur neveda.
Įrankis lieka be įrašymo eigos. Klausimas buvo pagrįstas; atsakymas – ne; ir abu verta išsaugoti, kad niekam nebereikėtų to vėl klausti rankiniu būdu.