Hva er HTACCESS-filformatet?
.htaccess er en konfigurasjonsfil for Apache-webserveren. I motsetning til de fleste filer, inneholder ikke .htaccess et filnavn før punktumet - det innledende punktumet er en del av selve navnet, noe som gjør den til en skjult fil som standard på Linux og macOS. .htaccess-filer bør ikke redigeres manuelt av uautoriserte eller ukvalifiserte brukere. Filen lagrer all konfigurasjon i ren tekst.
.htaccess-filer inneholder konfigurasjonsinnstillinger per mappe som definerer serverfunksjoner som:
- indeks-siden (standard) for en mappe,
- tilgangsbegrensninger for spesifikke IP-adresser,
- egendefinerte feilsider (f.eks. 404 Page Not Found),
- URL-videresendinger og omskrivinger (
RewriteRule/RewriteCond), - passordbeskyttelse av mapper (
AuthType,AuthUserFile), - ytterligere sikkerhetsinnstillinger for serveren og egendefinerte HTTP-responshoder.
For at .htaccess skal tre i kraft, må AllowOverride være satt til noe annet enn None i den overordnede httpd.conf - på herdede servere er .htaccess-behandling ofte deaktivert helt.
Fordi Apache leser .htaccess ved hver eneste HTTP-forespørsel til mappen, medfører det en målbar ytelseskostnad. Apaches egen dokumentasjon anbefaler å plassere tilsvarende direktiver i server- eller VirtualHost-konfigurasjonsblokker i stedet, da disse lastes kun én gang ved oppstart.
.htaccess er spesifikk for Apache; Nginx støtter det ikke og krever tilsvarende regler i nginx.conf. Den tilhørende filen .htpasswd lagrer hashede påloggingsdetaljer for HTTP Basic Authentication.
Sikkerhet og trygghet
RISIKO: HIGH.htaccess i seg selv er en ufarlig tekstfil å åpne i et redigeringsprogram. Den representerer imidlertid en KRITISK angrepsflate på webservere: 1. Opplastingsangrep: hvis en webapp lar brukere laste opp filer til en web-tilgjengelig mappe og Apaches AllowOverride tillater .htaccess, kan en angriper som laster opp en spesiallaget .htaccess re-aktivere PHP-kjøring i en opplastingsmappe og kjøre webshells. Mottiltak: lagre opplastinger utenfor dokumentroten; sett AllowOverride None for opplastingsmapper; blokker opprettelse av .htaccess i opplastingsmapper. 2. Informasjonsavsløring: en feilkonfigurert server som serverer .htaccess som en tekstfil (i stedet for å blokkere tilgang til punktum-filer) eksponerer serverkonfigurasjon, mappestruktur og potensielt referanser til påloggingsdetaljer. Apaches standardkonfigurasjon blokkerer tilgang til .htaccess-filer (FilesMatch ^\.ht).
Formatdetaljer
i et nøtteskallProgrammer som åpner HTACCESS-filer
Tekniske detaljer
dyp spesifikasjon| Opprinnelse | Arvet fra NCSA HTTPd (1994); Apache HTTP Server har støttet det siden versjon 1.0 (1995) |
| Filnavn | Punktum-fil - det komplette filnavnet er `.htaccess`; skjult som standard på Unix og macOS |
| Filtype | Apache-konfigurasjon i ren tekst per mappe |
| Koding | UTF-8 eller ASCII (må samsvare med serverens locale) |
| Typisk filstørrelse | 100 byte - 50 KB (de fleste filer under 5 KB) |
| Behandlingsfrekvens | Leses av Apache ved hver HTTP-forespørsel til mappen den ligger i og alle undermapper |
| Forutsetning | `AllowOverride` må ikke være `None` i den overordnede `httpd.conf`; ellers blir `.htaccess` ignorert uten varsel |
| Vanlige direktiver | `RewriteRule`, `RewriteCond`, `ErrorDocument`, `AuthType`, `AuthUserFile`, `Header`, `Options`, `Redirect` |
| Syntaks for tilgangskontroll | Apache 2.4 erstattet `Allow`/`Deny` med `Require`; eldre syntaks krever `mod_access_compat` |
| Nginx-kompatibilitet | Støttes ikke av Nginx; regler må oversettes manuelt til `nginx.conf`-direktiver |
| Ytelsesmerknad | Forårsaker disklesing per forespørsel; Apache anbefaler å foretrekke `httpd.conf` eller VirtualHost-blokker for konfigurasjon |
| Sikkerhetsrisiko | En `.htaccess` lastet opp av en angriper i en skrivbar webmappe kan aktivere kjøring av skript på serversiden |
| Utgitt | 1994 (NCSA HTTPd, predecessor to Apache; Apache inherited it from 1995) |
| Siste versjon | Apache HTTP Server 2.4.x directive syntax (current) |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | httpd.apache.org |
HTACCESS-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om HTACCESS-filer.