Institutionen för interaktiva medier och lärande
Katalogskydd
Umeå universitet

Skydda webbsidor
Lärarutbildningens UNIX-baserade webbserver (Apache) gör det möjligt att skydda webbsidor. Skyddet är på katalognivå vilket innebär att man låser en katalog och endast den som har rätt nyckel (användarnamn och lösenord) ges tillträde till katalogens innehåll. Skyddet gäller även underliggande kataloger.

Två filer
Skyddet byggs upp av två textfiler. Filen som fungerar som lås heter .htaccess (observera punkten) och i denna fil sätter man villkoren för hur en katalog skall skyddas.

Den andra filen heter .htpasswd och avgör vilka som har tillgång till den skyddade katalogen. Filen innehåller en lista på användarnamn och krypterade lösenord.

Genom särskilda inställningar i webbservern är det varken möjligt att, med hjälp av en webbläsare, se eller ladda ned .htaccess- eller .htpasswd-filer.

Exempel på en .htaccess-fil
En typisk .htaccess-fil kan se ut så här:

AuthName "Hemliga saker"
AuthType Basic
AuthUserFile /sokvag/pa/servern/.htpasswd
Require valid-user

AuthName anger vilken text som skall visas i samband med inloggningen. Denna hjälper användaren att ange rätt användarnamn och lösen. Skyddar man flera kataloger kan man använda samma AuthName för samtliga. En användare som loggat in i någon av de skyddade katalogerna kommer då åt de övriga utan att behöva fylla i sitt användarnamn och lösen igen (förutsatt att användaren har behörighet till alla kataloger).

AuthType Basic gör så att webbläsarens standardiserade login-ruta kommer upp.

AuthUserFile måste vara den fullständiga sökvägen till .htpasswd-filen. Denna fil behöver inte ligga i samma katalog som själva .htaccess-filen. Flera .htaccess-filer kan använda samma .htpasswd-fil. Har du en användare på IMLs studentserver anger du sökvägen enligt följande:

/home/students/CAS-username_first_letter/CAS-username/public/http/.htpasswd

Exempel (.htpasswd och .htaccess i samma katalog)

/home/students/a/abcdef01/public/http/skyddad/.htpasswd

Require valid-user innebär att det behövs ett giltigt användarnamn och lösenord för att logga in.

Exempel på en .htpasswd-fil
Nedan ser du ett exempel på hur innehållet i en .htpasswd-fil kan se ut. Filen består av en eller flera rader med text på formen:

användarnamn:krypteratlösenord

Det krypterade lösenordet skapas automatiskt (se nedan). I detta exempel är det användarnamnen castafiore, krollspell och alcazar som har rättighet att logga in.

castafiore:jw4OyDQ5MhEL2
krollspell:wcZ8d5hTLWizc
alcazar:pm0ytd7IjLavg

Hur skapar man filerna och ger dem rätt filändelse?
De båda filerna skapar man enkelt med hjälp av en texteditor, exemplevis Notepad (SkrivText på Macintosh). På Macintosh kan du spara filen med rätt namn direkt. I Windows däremot stöter man på problem. Ger man filen namnet .htaccess med hjälp av Notepad kommer programmet själv att lägga till filändelsen .txt så att filnamnet blir .htaccess.txt. Försöker man sedan ändra filnamnet i Windows-miljön kommer man att mötas av ett felmeddelande som säger att filen måste ha ett namn (.htaccess räknas som en filändelse av Windows). Istället kan man använda sig av ett FTP-program (t ex Ws-FTP) och ändra filnamnet med hjälp av programmets inbyggda Rename-funktion.

Ser du inte filändelserna på din dator måste du ställa in Windows så att dessa visas. Hur du gör detta ser du om du klickar här.

Innehållet i de båda filerna skapas enklast med IML htpasswd Generator. Det är ett webbaserat verktyg som kan användas för att kryptera lösenord. Ange användarnamn och lösenord (i klartext) och klicka därefter på Submit. Tänk på att både användarnamn och lösenord är teckenkänsliga (dvs det är skillnad på stora och små bokstäver). En resultatsida visar nu koden för .htpasswd-filen (användarnamn samt krypterat lösenord) samt även en enkel .htaccess-fil. Markera och kopiera den visade informationen och klistra in i dina textfiler. Fler användare skapas enkelt genom att använda verktyget en gång till.

IML htpasswd Generator

Publicera filerna på servern
När sedan de båda filerna är skapade är det dags att ladda upp dem på webbservern. .htaccess-filen läggs i den katalog som skall skyddas och .htpasswd i den katalog som anges i sökvägen (AuthUserFile) i .htaccess-filen. Kontrollera sedan att det fungerar som du tänkt dig.

Fler funktioner med .htaccess

Allow/Deny
Om man själv ofta behöver komma åt innehållet i den katalog man valt att skydda kan det vara bekvämt att inte behöva logga in varenda gång. Då kan man göra något av följande tillägg i .htaccess-filen:

allow from ip-nummer Här kan man ange sitt eget ip-nummer
allow from 130.239 De ip-nummer som börjar med 130.239 kan se kataloginnehållet utan att logga in.
allow from lh.umu.se Datorer registrerade i domänen behöver inte logga in

Allow from ger automatisk tillgång till den skyddade katalogen och dess innehåll, givet att man uppfyller villkoren som skrivs efter kommandot.

Används Allow i kombination med Require valid-user måste .htaccess-filen också innehålla raden:

Satisfy any

Lägger man in den raden kommer man in om man antingen har rätt användarnamn/lösenord eller uppfyller villkoren bestämda med Allow.

Vill man istället stänga ute ett eller flera ip-nummer eller datorer med ett visst domännamn kan man byta ut Allow mot Deny (de går också att använda i kombination med varandra). En användare av en "förbjuden" dator kommer då aldrig att ges möjlighet att logga in. Vill man fullständigt låsa en katalog kan man skriva:

deny from ip-nummer Angivet ip-nummer kommer inte åt katalogen och dess innehåll
deny from 130.239 De ip-nummer som börjar med 130.239 kommer inte in
deny from lh.umu.se Datorer registrerade i domänen kommer inte in
deny from all Stänger ute samtliga datorer.

Lägg till Satisfy any om så behövs.

Kommentarer
Kommentarer i .htaccess-filen kan man göra genom att börja en ny rad med tecknet #, t ex:

# Min skyddande fil

Redirect
.htaccess kan också användas för att skicka vidare användare till en annan adress. Denna funktion motsvarar Refresh-funktionen som finns i html, men fungerar bättre då ingen sida behöver laddas om. Funktionen skrivs på formen:

RedirectMatch gammaladress nyadress

Till exempel:

RedirectMatch /~username/index.html
/~username/new/index.html

eller

RedirectMatch /~username/index.html
http://www.newhost.com/index.html

Stodfunktioner
 
Navigera på www.umu.se

 
linje linje linje
Umeå universitet
Lärarutbildning
Interaktiva medier och
lärande

För våra studenter
Stödsidor
Katalogskydd
Skydda webbsidor
Två filer
Exempel på .htaccess-fil
Exempel på .htpasswd-fil
Hur skapar man filerna?
Publicera filerna på servern
Fler funktioner
Allow/Deny
Kommentarer
Redirect

 


Institutionen för interaktiva medier och lärande
Umeå universitet
Informationen kontrollerades senast 12 april 2010
Ansvarig för sidan: Peter.Vinnervik@educ.umu.se
Denna sida har besökts 1837 gånger sedan 2002-05-04