Kontaktirajte podršku

Odgovaramo e-poštom, obično u roku od dva dana.

Radi zaštite od zloupotrebe, Google reCAPTCHA proverava ovo slanje. Pritom se podaci prenose Googleu. Skripta se učitava tek kada otvorite ovaj formular.

← Sve objave

Jezička oznaka koja je ličila na Perl

O sadržaju i njegovoj proveri

U ovom članku

Dana 19. avgusta 2026. dodali smo pravilo u .htaccess koje blokira vrstu datoteka koje se nikada ne bi smele služiti direktno pregledaču: zaostale kopije izvornog koda u korenu veba posle izmene — index.php.bak, zalutalu config.py, sve sa ekstenzijom skripte gde bi posetilac mogao da preuzme izvorni kod kao običan tekst umesto da se on izvrši.

Pravilo se poklapalo po ekstenziji datoteke: .php, .py, .rb, .pl, i desetak drugih. .pl je Perl. Ovaj projekat nema ni jedan red Perla — pravilo je bilo preventivno, a ne ispravka za datoteku koja je postojala.

Otprilike dan kasnije, posetilac je prijavio da su pregledi brojača pokvareni. Svi, ali samo na jednom jeziku.

Drugi „pl“

stats4u.net bira jezik po posetiocu pregovaranjem preko Accept-Language, a ne fiksnom podrazumevanom vrednošću — pregledač podešen na poljski dobija /pl/ direktno, bez preusmeravanja, a engleski je ono na šta sajt pada kada se ništa ne poklopi. Poljski je čest pogodak: dovoljno posetilaca stiže tamo da dan pokvarenih sličica nikako nije mogao dugo da prođe nezapaženo.

Svaki pregled dizajna je jedna mala datoteka po stilu i jeziku: cache/preview/2900.pl.svg. Obrazac koji je trebalo da uhvati something.pl — Perl skriptu — poklopio se i sa 2900.pl iza kojeg sledi .svg: broj stila, jezička oznaka koja se slučajno piše isto kao ekstenzija skripte, pa stvarni tip datoteke. Obrazac tačka-pl-tačka ne može da razlikuje ta dva slučaja.

2900.pl.svg403broj stilajezička oznakatip datoteke2900.en.svg200razlikuje se samo jezička oznaka

Svaki .pl.svg i .pl.png pregled u galeriji počeo je da odgovara sa 403 Forbidden. Svaki drugi jezik ostao je netaknut, jer se nijedna druga jezička oznaka koju ovaj sajt koristi ne sudara sa unosom na listi ekstenzija. Samo ta jedna.

Šta se promenilo

pl je izbačeno sa liste ekstenzija. I dalje blokira svaku pravu ekstenziju skripte zbog koje projekat ima razloga da brine; više ne blokira jezik.

Vredi zapisati zbog razloga zbog kog se uopšte desilo: lista ekstenzija datoteka i lista jezičkih oznaka potiču iz dva različita rečnika, i ništa ne sprečava da dvoslovni unos znači oba istovremeno. Pre dodavanja na bilo koju od lista, na sajtu sa jezičkim prefiksima u putanji, proverite ga naspram druge. Ta provera ovde nije obavljena, a otkrio ju je čitalac koji je primetio pokvarene sličice — zato odsustvo plsa liste sada nosi komentar koji kaže zašto, kako bi sledeće čišćenje naišlo na razlog pre nego na pravilo.

Oglas