Võtke ühendust toega

Vastame e-postiga, tavaliselt kahe päeva jooksul.

Väärkasutuse vältimiseks kontrollib seda saadetist Google reCAPTCHA. Seejuures edastatakse andmeid Googlele. Skript laaditakse alles selle vormi avamisel.

← Kõik postitused

Mis stats2.gif tegelikult on

Sisust ja selle ülevaatamisest

Selles artiklis

Selle projekti pildikaustas on fail nimega stats2.gif. See on 366 baiti, dateeritud märtsiga 2018 ja esineb lähtekoodis täpselt null real. 23. augustil 2026 anti seda välja 2 735 korda vastusega 200, 145 erinevalt veebisaidilt — ja juurdepääsulogi kogu pöörde ulatuses 858-lt.

Fail, millele keegi ei viita, mida tuhanded päringud päevas tulevad hankima sadade võõraste lehtedelt. Ilmne tõlgendus: vana manus, mida inimesed ei vahetanud, mis serveerib vaikselt staatilist pilti seal, kus kunagi oli loendur. Staatilised failid mööduvad PHP-st täielikult. Miski, mis jõuab otse Apache'ini, ei saa midagi lugeda.

Nii kirjutasime tööriista. See loeb logist välja iga viitava lehe, toob need ühekaupa sama kontrolliga, mida sait juba manustamise diagnostikaks kasutab — koos SSRF-kaitsetega, sest need aadressid pärinevad logist, mitte meilt — ja vaatab, kas lehel üldse miski loeb.

Kõik 858 lehte

juba loendavad (töötav manus kõrval)501
üldse kättesaamatud288
märk olemas, loenduri numbrit lähtekoodis ei ole69
ainult vana märk, miski ei loe0
juba loendavad501kättesaamatud288ikoon, number puudub69juhtum, mida otsisime: 0

Mitte ühtegi. Seitsekümmend viis minutit toomist ja vastus oli ei.

Mõõtmine, mis võtab ühe sekundi

stats2.gif on 13 × 14 pikslit.

See ei ole loendur ega numbriga märk. See on väike statistikaikoon — sama, mida praeguse galerii kujundus 981 taasloob, ja selle kujunduse enda lähtekoodi kommentaar kirjeldab oma eelkäijat täpselt: nähtavat näitu pole, ainult väike märk, mis klõpsamisel avab statistika. See ei pidanud kunagi lugema. Neil lehtedel luges alati miski muu.

Fail ei ole ka katki. See vastab 200-ga, päisega Last-Modified aastast 2018 ja aasta pikkuse vahemälu eluajaga. See teeb oma tööd.

Üks väljakutse funktsioonile getimagesize() lahendab kogu selle uurimissuuna sekundiga. Siin oli küsimus „miks seda faili nii sageli päritakse“, eeldatud vastus oli „sest see on katkine loendur“ ja kõik pärast seda toetus eeldusele, mitte failile — ning just see teebki ühesekundilise kontrolli esimesena tegemise väärtuslikuks.

Ainus asi, mis tõesti on katki

Kogu logist näitas end üks päris viga: üks aadress, mida päritakse kümme korda päevas, kõik vastusega 410, kus terve manustamiskoodi lõik oli sattunud atribuuti href. Keegi kleepis koodi väljale, mis HTML-i paojada teeb. Nende loendur on elus ja loeb — ainult nende enda link nende enda statistikale ei vii kuhugi.

Tööriist jääb, ilma kirjutamisharuta. Küsimus oli õigustatud, vastus on ei ja mõlemat tasub säilitada, et keegi ei peaks seda enam käsitsi küsima.

Reklaam