Security Conscious,
High Availability Unix Hosting
Apache .htaccess miniguide

Denne miniguiden gir en kompakt fremstilling av hvordan filen ved navn .htaccess fungerer. Denne filen fungerer som en mekanisme for brukere som lar dem manipulere forskjellige aspekter av webserverens oppførsel.

Note: While users of dedicated web servers under our Advanced-Konto and Corporate-Konto packages may prefer to place these directive in their httpd.conf, the syntax remains the same.

Rekkevidde

Det er helt avgjørende å forstå at direktivene inne i en .htaccess fil ikke bare gjelder for mappen .htaccess filen ligger i, men også undermapper.

Kommentarer

Kommentarer i .htaccess filer begynner med firkant tegnet " # ". Kommentarer på slutten av linjer genererer feilmeldinger og vil fylle opp feilmeldingsloggene med meningsløse advarsler. Plasser derfor ikke kommentarer på slutten av et direktiv eller slutten av en hvilken som helst linje.

Passordbeskyttelse for mapper

Med riktig innhold og plassering vil en .htaccess bringe frem et vindu som ber om passord, noe som påtvinger autentisering avhengig av mappe. Det følgende eksemplet viser passende innhold for filen.

  AuthName "beskyttede ting"
  AuthType Basic
  AuthUserFile /home/myself/private/stuff.pw
  Require valid-user

Direktivet AuthName bestemmer et område som autorisasjonen gjelder for, slik at brukeren vet hvilket navn/passord som skal skrives inn. AuthType velger hvilken type autentisering webserveren skal benytte, Basic eller Digest.

Direktivet AuthUserFile bestemmer hvilken tekstfil som skal inneholde brukernavn/passord parene, fortrinnsvis innenfor brukerens hjemmeområde. Av sikkerhetshensyn må du ikke deklarere at denne passordfilen skal lagres i den beskyttede mappen eller noe annet sted under ~/www/.

AuthUserFile filen genereres av htpasswd(1). Du vil bli bedt om å skrive inn et passord, to ganger for bekreftelse:

  $ htpasswd -c ~/private/stuff.pw newlogin1
  $ htpasswd ~/private/stuff.pw newlogin2
Blokkering av forespørsler fra spesifikke adresser

The Deny from directive can block service to a specific IP address, domain name or block:

  Deny from 10.0.0.1
  Deny from 1.2.3.

Alternativt -

  <Limit GET>
  Order deny,allow
  10.0.0.1
  1.2.3.
  Allow from all
  </Limit>

Note that blocking an IP address using this method is not a proper way to deal with abuse! It is generally a bad policy to block clients based solely on their IP address.

Spesifikasjon av dokumenter for feilmeldinger

Du kan lage og bruke dine egne dokumenter for feilmeldinger, som vises når feil oppstår, for eksempel ved forespørsler etter filer som ikke finnes. Dette gjøres med ErrorDocument direktivet. Vennligst lag disse dokumentene på en slik måte at de opptar minimal harddisk plass og er uten bilder, siden ormer raskt kan generere massive mengder treff mot disse dokumentene. Dessuten er feilmeldinger som tar lang tid å laste ned irriterende for alle brukere. Deklarer aldri en URL som destinasjon for ErrorDocument.

  ErrorDocument 404 errors/notfound.html
  ErrorDocument 403 errors/forbidden.html
  ErrorDocument 500 errors/servererror.html
Mappelister

En .htaccess fil kan brukes for å unngå opplisting av innholdet i mappen i fravær av index dokumenter -

  Options -Indexes

For å selektivt blokkere listing av README og alle .gif bilder, bruk IndexIgnore direktivet:

  IndexIgnore README *.gif
Kobling av filnavnendelser

For å gjøre om på standard filassosiasjoner og koble visse filnavnendelser til brukerspesifisert håndtering, kan man bruke AddHandler direktivet.

Anta at det er ønskelig at alle filer med navn som ender i .html skal gjenkjennes og prosesseres av serveren som PHP programmer:

  AddType application/x-httpd-php .html

Med AddType direktivet kan man for et gitt filnavn bestemme en MIME type. For å tvinge koblingen fra alle filer som ender i .foo til application/x-foo-type typen, bruk:

  AddType application/x-foo-type .foo

Hvis du mener en gitt MIME type er verdig gjenkjenning over hele serveren, si ifra til oss!

Innholdsforhandling

Browsere som støtter HTTP/1.1 har evnen til å be om websider og andre ressurser i forskjellige språk og kodingsmåter. Apache modulen mod_negotiation inneholder en valgmulighet kalt MultiViews som implisitt velger filer basert på navn.

  Options +MultiViews

For eksempel, hvis en browser forespør index.html og det ikke finnes noen fil med det navnet, vil webserveren lete etter index.html.no, index.html.en og så videre, avhengig av brukerens språkpreferanser.

Lenker

  End Software Patents!