Un cod de limbă care arăta ca Perl
Pe 19 august 2026 am adăugat în .htaccess o regulă care blochează o categorie de fișiere ce nu ar trebui niciodată servite direct unui browser: copii rămase ale codului sursă, aflate în rădăcina web după o editare — index.php.bak, un fișier uitat config.py, orice fișier cu o extensie de script din care un vizitator ar putea obține codul sursă ca text simplu, în loc ca acesta să fie executat.
Regula se potrivea după extensia fișierului: .php, .py, .rb, .pl, plus încă vreo duzină. .pl înseamnă Perl. Acest proiect nu conține nicio linie de Perl — regula era una de precauție, nu remedierea unui fișier existent.
Cam o zi mai târziu, un vizitator a semnalat că previzualizările contoarelor erau stricate. Toate, dar doar într-o singură limbă.
Celălalt „pl”
stats4u.net alege limba pentru fiecare vizitator prin negocierea Accept-Language, nu printr-o valoare implicită fixă — un browser setat pe poloneză primește /pl/ direct, fără nicio redirecționare, iar engleza este limba la care site-ul revine când nimic nu se potrivește. Poloneza este o potrivire frecventă: suficient de mulți vizitatori ajung acolo încât o zi de miniaturi stricate nu avea cum să treacă mult timp neobservată.
Fiecare previzualizare de design este un mic fișier pentru fiecare stil și limbă: cache/preview/2900.pl.svg. Tiparul menit să prindă something.pl — un script Perl — se potrivea și cu 2900.pl urmat de .svg: un număr de stil, un cod de limbă care se întâmplă să se scrie la fel ca o extensie de script, apoi tipul real de fișier. Un tipar punct-pl-punct nu le poate deosebi.
Fiecare previzualizare .pl.svg și .pl.png din galerie a început să răspundă cu 403 Forbidden. Toate celelalte limbi au rămas neatinse, pentru că niciun alt cod de limbă folosit de acest site nu intră în coliziune cu o intrare din lista de extensii. Doar acesta.
Ce s-a schimbat
pl a fost scos din lista de extensii. Regula blochează în continuare toate extensiile reale de script de care acest proiect are motive să se teamă; nu mai blochează o limbă.
Merită consemnat pentru motivul pentru care s-a întâmplat: o listă de extensii de fișiere și o listă de coduri de limbă provin din două vocabulare diferite și nimic nu împiedică o intrare de două litere să le însemne pe amândouă. Înainte de a adăuga ceva la oricare dintre liste pe un site cu prefixe de limbă în cale, verificați intrarea față de cealaltă listă. Această verificare nu fusese făcută aici, iar un cititor care a observat miniaturi stricate a scos-o la iveală — de aceea, în cazul lui pl, absența din listă este acum însoțită de un comentariu care explică motivul, astfel încât următoarea curățenie să dea de explicație înainte de a da de regulă.