Skip to content

Alt om WordPress, webutvikling — og mer til

.htaccess-gjennomgang: feil 500, døde direktiver, tegn på innbrudd

.htaccess-gjennomgang: hvorfor nettstedet svarer 500 og hvilke regler som ikke virker

Dra filen hit — verktøyet finner BOM, døde direktiver, regler med høy risiko for feil 500 og tegn på inngrep utenfra. Filen leses i nettleseren din og sendes ingen steder.

Bytekontroller — BOM, CRLF, ikke-utskrivbare og usynlige tegn — er mulige bare for en fil. Ved innliming fra utklippstavlen har nettleseren allerede fjernet dem, så den vanligste årsaken til en 500-feil blir usynlig.
Analysen starter automatisk. Filen sendes ingen steder — det er nettleseren din som leser den.
Kontekst

En ren .htaccess kurerer ikke et innbrudd. Er nettstedet kompromittert, bor skadekoden i PHP, og .htaccess er bare følgen: dropperen skriver filen tilbake i løpet av minutter etter at du har ryddet den. Rekkefølgen er motsatt — finn først den kjørbare koden, rydd deretter i konfigurasjonen.

Filen leses i nettleseren din — innholdet sendes ingen steder og lagres ikke.

Hvorfor en fil og ikke innlimt tekst

Den vanligste årsaken til en 500-feil etter redigering av .htaccess synes ikke i teksten i det hele tatt. Det er BOM — tre usynlige byte i starten av filen, lagt til av Notisblokk i Windows ved lagring i UTF-8. Apache oppfatter dem som en del av det første direktivet og klarer ikke å tolke det. Derfor tar verktøyet imot selve filen: bare slik kan bytene leses og BOM, linjeskift i Windows-stil og usynlige tegn inne i linjene oppdages. Den andre gruppen problemer er direktiver som ikke gjør noe, men som ser ut til å virke. mod_gzip_on er syntaks fra Apache 1.3; på moderne servere ignoreres den stille, mens folk i årevis tror at komprimeringen er på. En ExpiresByType-blokk pakket inn i en sjekk av mod_headers.c i stedet for mod_expires.c virker heller ikke — og uten et hint merkes det ikke. For det tredje php_value og php_flag. De virker bare når PHP er lastet inn som Apache-modul. På moderne webhotell med PHP-FPM blir en slik linje enten ignorert eller gir umiddelbart en 500. Og litt for seg om sikkerhet: hvis filen inneholder regler som omdirigerer besøkende avhengig av hvilken søkemotor de kom fra, eller som skjuler omdirigeringen for administratoren, er det et typisk tegn på innbrudd. Men en ren .htaccess kurerer ikke innbruddet: nesten alltid ligger det et PHP-skript et sted i filene som skriver den tilbake.

Vanlige spørsmål