.htaccess - Adgangskontrol

Tags:    diverse
Skrevet af Bruger #5158 @ 31.01.2009
Ønsket om at lave kodeordsbeskyttede sider, er ofte det der bringer folk i kontakt med .htaccess. Det er nemt, funktionelt og rigtig godt til at genmme sine ting på nettet. Men hvis man vil lave egentlige brugerkonti, skal man i gang med noget database-baseret login.

Men I denne artikel drejer det sig om .htaccess, så her får alle godkendte brugere lige adgang til den samme mappe.

Bemærk: Der er ingen mulighed for at logge af, når brugeren først har logget sig på. Det er først når browseren bliver lukket, at adgangen til de beskyttede mapper bliver nulstillet.

.htpasswrd


Når man vil lave adgangskontrol, skal man først lave en fil med nogle brugernavne og kodeord.

I dette eksempel bliver den fil kaldt ".htpasswrd", men den kan i princippet hedde hvad som helst. Det er en skjult fil ligesom .htacces-filen, men i de mest gunstige tilfælde er det faktisk ikke engang nødvendigt. Man skal nenmlig helst have den væk fra de offentlige mapper og helt ud i roden inden webmappen.

Hvis ens fulde sti til webmappen eksempelvis hedder:
/rod/stisystem/www/
skal ".htpasswrd" lægges i noget der måske ligner:
/rod/stisystem/koder/

Grunden til at man skal holde denne fil ude af de offentlige mapper, er at så er det kun de ting der bliver afviklet på serveren der kan komme ind til kan komme ind til den.

Selve filen indeholder blot brugernavne og adgangskoder, adskildt af et kolon ( : ). Et brugernavn:kodeord på hver linie. Kodeordene er krypteret i base64-kryptering.

Eksempel på en .htpasswrd-fil
Fold kodeboks ind/udKode 

I eksemplet har to personer adgang med disse brugernavne og kodeord:
Janus:janus
Peter:peter
Bemærk: Der bliver skelnet mellem store og små bogstaver

Det er nemt at finde generatorer på nettet, så man kan lave sine egne kodeord.
Tryk her for at google en Passwordgenerator.
Eller lav hurtigt en php-fil med denne kode og så har du en selv:
generator.php
Fold kodeboks ind/udPHP kode 

.htaccess


Den stump kode der kommer her, skal kun tilføjes i de mapper der skal adgangskontrolleres.
Altså skal det ikke i den .htaccess-fil der ligger i rodbiblioteket, hvis det ikke er hele webstedet der skal have adgangskontrol.
I vedkommende .htaccess-fil tilføjes følgende kode:
Fold kodeboks ind/udKode 

Der er nogle ting i den bid kode som kræver en forklaring:

AuthUserFile
Den fulde sti til .htpasswrd.
Den kan godt være lidt svær at finde, men hvis det går helt galt, kan man lige lave en lille php-fil med dette indhold:
Fold kodeboks ind/udPHP kode 

Når man kalder den fil, kan man se stien til hvor man er. Så burde det være rimelig enkelt at regne ud hvordan stien til ".htpasswrd" skal se ud.

AuthName
Her er der frit valg til at skrive hvad man lyster. Det kommer til at stå i den dialog-boks der "popper" op.

require valid-user
Her defineres, at alle der er oprettet som brugere i ".htpasswrd" har adgang.
Man kunne have valgt, at det kun var Janus der måtte komme her:
Fold kodeboks ind/udKode 

Hvis mere end een har adgang, skrives brugernavnene med mellemrum:
Fold kodeboks ind/udKode 

Nu er mappen med .htacces-filen og alle undermapperne kodeordsbeskyttede.

Beskyt enkelte filer


Hvis man kun ønsker at beskytte enkelte filer og ikke hele mapper kan det gøres således:
Fold kodeboks ind/udKode 

Man kan også vælge at have beskyttet hele mappen, men alligevel "ekstra-beskytte" nogle af filerne i mappen:
Fold kodeboks ind/udKode 

Alle godkendte brugere bliver lukket ind i mappen. Men for at se filen "admin.php", skal man være "Janus".

Tips og tricks


Når man har en kodeordsbeskyttet mappe på sin hjemmeside, som man ofte tilgår hjemmefra, kan det være ret irriterende, altid at skulle igennem adgangskontrollen.
Hvis man har fast IP-adresse, kan det måske være en lettelse at åbne for sin egen IP-adresse, mens alle andre stadig skal logge sig på.

Det kan gøres ved at tilføje dette i filen:
Fold kodeboks ind/udKode 

Tryk her for at finde den aktuelle IP-adresse.


Hvad synes du om denne artikel? Giv din mening til kende ved at stemme via pilene til venstre og/eller lægge en kommentar herunder.

Del også gerne artiklen med dine Facebook venner:  

Kommentarer (2)

User
Bruger #14381 @ 01.02.09 14:03
Wow!!!

Jeg har altid været ret god med .htacces men det her slår alt.. Jeg kan virkelig godt lide den med at man skal være en bestemt bruger for at få en bestemt fil!!!

Et stort 5 tal til dig!:D
User
Bruger #8782 @ 07.02.09 16:36
5/5 herfra! Skide godt med nogle guider omkring .htaccess! FREMRAGENDE! :D
Du skal være logget ind for at skrive en kommentar.
t