Vad är filformatet HTACCESS?
.htaccess är en konfigurationsfil för webbservern Apache. Till skillnad från de flesta filer innehåller .htaccess inte ett filnamn före punkten - den inledande punkten är en del av själva namnet, vilket gör den till en dold fil som standard på Linux och macOS. .htaccess-filer bör inte redigeras manuellt av obehöriga eller okvalificerade användare. Filen lagrar all konfiguration i klartext.
.htaccess-filer innehåller konfigurationsinställningar per katalog som definierar serverfunktioner såsom:
- indexsidan (standard) för en katalog,
- åtkomstbegränsningar för specifika IP-adresser,
- anpassade felsidor (t.ex. 404 Page Not Found),
- URL-omdirigeringar och omskrivningar (
RewriteRule/RewriteCond), - lösenordsskyddade kataloger (
AuthType,AuthUserFile), - ytterligare säkerhetsinställningar för servern och anpassade HTTP-svarshuvuden.
För att .htaccess ska träda i kraft måste AllowOverride vara inställt på något annat än None i den överordnade httpd.conf - på härdade servrar är bearbetning av .htaccess ofta helt inaktiverad.
Eftersom Apache läser .htaccess vid varje HTTP-begäran till dess katalog, medför det en mätbar prestandakostnad. Apaches egen dokumentation rekommenderar att man placerar motsvarande direktiv i serverns eller VirtualHost-konfigurationsblock istället, eftersom dessa endast laddas en gång vid uppstart.
.htaccess är specifik för Apache; Nginx stöder den inte och kräver motsvarande regler i nginx.conf. Komplementfilen .htpasswd lagrar hashade inloggningsuppgifter för HTTP Basic Authentication.
Säkerhet & trygghet
RISK: HIGH.htaccess i sig är en ofarlig textfil att öppna i en redigerare. Den utgör dock en KRITISK attackyta på webbservrar: 1. Uppladdningsattack: om en webbapp tillåter användare att ladda upp filer till en webbtillgänglig katalog och Apaches AllowOverride tillåter .htaccess, kan en angripare som laddar upp en manipulerad .htaccess återaktivera PHP-exekvering i en uppladdningskatalog och köra webbskal. Åtgärd: lagra uppladdningar utanför dokumentroten; ställ in AllowOverride None för uppladdningskataloger; blockera skapande av .htaccess i uppladdningskataloger. 2. Informationsläckage: en felkonfigurerad server som serverar .htaccess som en textfil (istället för att blockera åtkomst till punktfiler) exponerar serverkonfiguration, katalogstruktur och potentiellt referenser till inloggningsuppgifter. Apaches standardkonfiguration blockerar åtkomst till .htaccess-filer (FilesMatch ^\.ht).
Formatdetaljer
i ett nötskalProgram som öppnar HTACCESS-filer
Tekniska detaljer
djup specifikation| Ursprung | Ärvd från NCSA HTTPd (1994); Apache HTTP Server har stött den sedan version 1.0 (1995) |
| Filnamn | Punktfil - det fullständiga filnamnet är `.htaccess`; dold som standard på Unix och macOS |
| Filtyp | Apache-konfiguration i klartext per katalog |
| Kodning | UTF-8 eller ASCII (måste matcha serverns språkinställning) |
| Typisk filstorlek | 100 byte - 50 KB (de flesta filer under 5 KB) |
| Bearbetningsfrekvens | Läses av Apache vid varje HTTP-begäran till den innehållande katalogen och alla underkataloger |
| Förutsättning | `AllowOverride` får inte vara `None` i den överordnade `httpd.conf`; annars ignoreras `.htaccess` tyst |
| Vanliga direktiv | `RewriteRule`, `RewriteCond`, `ErrorDocument`, `AuthType`, `AuthUserFile`, `Header`, `Options`, `Redirect` |
| Syntax för åtkomstkontroll | Apache 2.4 ersatte `Allow`/`Deny` med `Require`; äldre syntax kräver `mod_access_compat` |
| Nginx-kompatibilitet | Stöds inte av Nginx; regler måste översättas manuellt till `nginx.conf`-direktiv |
| Prestandanotering | Orsakar diskläsningar per begäran; Apache rekommenderar att föredra `httpd.conf` eller VirtualHost-block för konfiguration |
| Säkerhetsrisk | En angripare som laddar upp en `.htaccess` i en skrivbar webbkatalog kan aktivera exekvering av skript på serversidan |
| Släppt | 1994 (NCSA HTTPd, predecessor to Apache; Apache inherited it from 1995) |
| Senaste version | Apache HTTP Server 2.4.x directive syntax (current) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | httpd.apache.org |
HTACCESS-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om HTACCESS-filer.