Jezični kod koji je izgledao kao Perl
O sadržaju i njegovoj provjeri
U ovom članku
Dana 19. kolovoza 2026. dodali smo pravilo u .htaccess koje blokira vrstu datoteka koja se nikada ne bi smjela isporučivati izravno pregledniku: zaostale kopije izvornog koda u korijenskom web-direktoriju nakon uređivanja — index.php.bak, zalutala datoteka config.py, bilo što s nastavkom skriptnog jezika odakle bi posjetitelj mogao dohvatiti izvorni kod kao običan tekst umjesto da se izvrši.
Pravilo je prepoznavalo nastavak datoteke: .php, .py, .rb, .pl, i desetak drugih. .pl je Perl. U ovom projektu nema ni jednog retka jezika Perl — pravilo je bilo mjera opreza, a ne popravak postojeće datoteke.
Otprilike dan kasnije posjetitelj je prijavio neispravne pretpreglede brojača. Sve, ali samo na jednom jeziku.
Drugi „pl“
stats4u.net bira jezik za svakog posjetitelja pregovaranjem Accept-Language, a ne fiksnom zadanom postavkom — preglednik postavljen na poljski dobiva /pl/ izravno, bez preusmjeravanja, a engleski je rezervni jezik web-mjesta kada nema podudaranja. Poljski je često podudaranje: dovoljno posjetitelja dolazi na njega da cijeli dan neispravnih sličica ne bi dugo ostao nezamijećen.
Svaki pretpregled dizajna mala je datoteka za svaki stil i jezik: cache/preview/2900.pl.svg. Uzorak namijenjen prepoznavanju something.pl — skripte jezika Perl — prepoznavao je i 2900.pl iza kojeg slijedi .svg: broj stila, jezični kod koji se slučajno piše isto kao nastavak skriptnog jezika, a zatim stvarna vrsta datoteke. Uzorak točka-pl-točka ne može razlikovati to dvoje.
Svaki pretpregled .pl.svg i .pl.png u galeriji počeo je odgovarati s 403 Forbidden. Svaki drugi jezik ostao je netaknut jer nijedan drugi jezični kod koji ovo web-mjesto koristi ne kolidira sa stavkom na popisu nastavaka. Samo taj jedan.
Što se promijenilo
pl uklonjen je s popisa nastavaka. Pravilo i dalje blokira svaki stvarni skriptni nastavak zbog kojeg ovaj projekt ima razloga brinuti; više ne blokira jezik.
Vrijedi zapisati zašto se to uopće dogodilo: popis nastavaka datoteka i popis jezičnih kodova dolaze iz dvaju različitih rječnika, a ništa ne sprječava dvoslovni unos da istodobno znači oboje. Prije dodavanja na bilo koji popis na web-mjestu s jezičnim prefiksima u putanji provjerite ga prema drugom popisu. Ta provjera ovdje nije bila napravljena, a propust je postao vidljiv kada je čitatelj primijetio neispravne sličice — zato se izostanak oznake pl, uz razlog, sada navodi u komentaru kako bi sljedeće pospremanje naišlo na razlog prije nego na pravilo.