Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

.htaccess-i audit: viga 500, surnud direktiivid, sissemurdmise märgid

.htaccess-i audit: miks sait annab 500 ja millised reeglid ei tööta

Lohista fail siia — tööriist leiab BOM-i, surnud direktiivid, kõrge 500-vea riskiga reeglid ja kõrvalise sekkumise märgid. Fail loetakse sinu brauseris ja seda ei saadeta kuhugi.

Baiditasandi kontrollid — BOM, CRLF, mitteprinditavad ja nähtamatud märgid — on võimalikud ainult faili puhul. Lõikelaualt kleepides on brauser need juba eemaldanud, mistõttu kõige sagedasem 500 põhjus jääb nähtamatuks.
Analüüs käivitub automaatselt. Faili ei saadeta kuhugi — seda loeb sinu brauser.
Kontekst

Puhas .htaccess ei ravi häkkimist. Kui sait on kompromiteeritud, elab pahatahtlik kood PHP-s ja .htaccess on üksnes selle tagajärg: dropper kirjutab faili minutitega tagasi pärast seda, kui oled selle puhastanud. Järjekord on vastupidine — kõigepealt leia käivitatav kood, seejärel korrasta konfiguratsioon.

Fail loetakse sinu brauseris — selle sisu ei saadeta kuhugi ega salvestata.

Miks just fail, mitte kleebitud tekst

Kõige sagedasem 500-vea põhjus pärast .htaccess-faili muutmist ei paista tekstis üldse välja. See on BOM — kolm nähtamatut baiti faili alguses, mille lisab Windowsi Notepad UTF-8-na salvestamisel. Apache peab neid esimese direktiivi osaks ega suuda seda parsida. Seepärast võtabki tööriist vastu just faili: ainult nii saab lugeda baite ning näha BOM-i, Windowsi-stiilis reavahetusi ja ridade sees peituvaid nähtamatuid märke. Teine probleemide rühm on direktiivid, mis ei tee midagi, aga näevad töötavad välja. mod_gzip_on on Apache 1.3 süntaks; tänapäevastes serverites eiratakse seda vaikselt, samal ajal kui inimesed usuvad aastaid, et pakkimine on sees. Ka ExpiresByType-plokk, mis on mähitud mod_headers.c kontrolli mod_expires.c asemel, ei tööta — ja ilma vihjeta seda ei märka. Kolmandaks php_value ja php_flag. Need toimivad ainult siis, kui PHP on laaditud Apache moodulina. Tänapäevastes PHP-FPM-iga majutustes selline rida kas eiratakse või annab kohe 500. Ja eraldi turvalisusest: kui failist leitakse reeglid, mis suunavad külastajaid ümber sõltuvalt sellest, millisest otsimootorist nad tulid, või varjavad ümbersuunamist administraatori eest, on see tüüpiline häkkimise tunnus. Puhas .htaccess häkkimist siiski ei ravi: peaaegu alati elab failides kusagil PHP-skript, mis kirjutab selle tagasi.

Korduma kippuvad küsimused