Om din webplats ligger på en webserver med programvaran Apache webserver kan du lösenordskydda websidor genom att använda Apaches inbyggda funktioner. Principen liknar lösningar med ASP som ju kräver en Microsoft webserver. För att skydda vissa sidor lägger du en textfil i samma mapp som websidorna. I textfilen anger du vilka som ska ha tillgång till sidorna och deras lösenord.
| Prova att logga in på den lösenordsskyddade sidan! |
|
Användarid: test |
Den enklaste lösningen ger alla användare tillgång till samma sidor och använder två textfiler: .htpasswd och .htaccess
Textfilerna skapar du i tex Anteckningar/Notepad och den ska alltså inte ha något filtillägg (den får inte ha tillägget .txt) och bara ha namnet .htaccess och .htpasswd och vara i rent ASCII-format. Du lägger textfilen .htaccess i samma mapp som de sidor du vill skydda. Var noga med att ange den absolut rätta sökvägen som ofta inte är den du ser när du är uppkopplad via FTP-klienten... Kolla med ditt webhotell om du är osäker.
Textfilen ska innehålla de användare som ska kunna logga in på din sida. Här anges användarnas namn och lösenord. Namnen på dina användare anger du själv men lösenorden måste anges i krypterad form och utan mellanslag. Exempel:
OBS! Du kan inte själv kryptera lösenorden. Använd istället
någon av tjänsterna mirage.golden.net »
eller Carambole » där du fyller i användarnamn och önskat lösenord och
får ett krypterat lösenord att klippa och klistra in i texfilen
.htpasswd
OBS! När användarna själva ska logga in så gäller
det "riktiga" lösenordet som du eller de själva valt.
Tänk på att användarid och lösenord är "case
sensitive" och alltså måste anges exakt rätt avseende
versaler/gemener. Textfilen .htpasswd lägger du inte i samma
mapp som .htaccess och inte heller i en undermapp till den. Helst ska du
lägga filen i en mapp som inte går att komma åt via webläsaren.
Här anges i första hand sökvägen till den fil som innehåller användare och lösenord (.htpasswd). Även meddelandet som ska synas i inloggningsrutan kan du ange här.
OBS! Använd inga blanksteg i sökvägen. Byt istället namn på mappen om den innehåller blanksteg eller understrykningsstreck.
En sökväg med mappnamnet:
/min mapp/.htpasswd
ska istället vara:
/min_mapp/.htpasswd
eller
/minmapp/.htpasswd
VIKTIGT! .htaccess måste överföras till webservern i ASCII-format och inte BINÄRT (Binary mode). Dessutom kan du behöva ändra rättigheterna till CHMOD 644 eller (RW-R--R--).
OBS! När du testar lösenordsfunktionen kan du behöva stänga och öppna webläsaren på nytt om du vill se inloggningsrutan igen. En godkänd inloggning är aktiv under hela arbetspasset och då visas inte inloggningsrutan på nytt annars!
Med den här metoden kan du tilldela olika användargrupper tillgång till olika sidor.
Grunden är enligt tidigare metod ovan men en tredje textfil tillkommer: .htgroup
Den här lösningen ger användare tillgång till olika
sidor och använder tre textfiler:
.htpasswd
.htaccess
.htgroup
| Logga in på medlemssidan som tillhör gruppen "medlemmar": |
|
Användarid: gäst |
| Logga in på administratörssidan som tillhör gruppen "admin": |
|
Användarid: admin |
Här anges användarnas namn och lösenord. OBS! Att lösenorden måste anges i krypterad form och utan mellanslag.
OBS! Du kan inte själv kryptera lösenorden. Använd istället någon av tjänsterna mirage.golden.net » eller Carambole » där du fyller i användarnamn och önskat lösenord och får ett krypterat lösenord att klippa och klistra in i texfilen .htpasswd - OBS! När användarna själva ska logga in så gäller det "riktiga" lösenordet som du eller de själva valt. Tänk på att användarid och lösenord är "case sensitive" och alltså måste anges exakt rätt avseende versaler/gemener. Textfilen .htpasswd lägger du inte i samma mapp som .htaccess och inte heller i en undermapp till den. Helst ska du lägga filen i en mapp som inte går att komma åt via webläsaren.
Här anges användargrupper och medlemmar. Ange de olika grupperna på olika rader.
textfilen .htgroup lägger du i samma mapp som .htpasswd
Här anges i första hand sökvägen till den fil som innehåller användare och lösenord (.htpasswd). Även meddelandet i inloggningsrutan kan du ange här.
OBS! Det behövs alltså en .htaccess-fil för varje mapp som ska skyddas. I .htaccess anges vilken grupp som har tillgång till mappen. Så här kan tex Administratörsinloggningen i exemplet ovan se ut:
Textfilen skapar du i tex Anteckningar/Notepad och den ska alltså inte ha något filtillägg (den får inte ha tillägget .txt) utan bara ha namnet .htaccess och vara i rent ASCII-format. Du lägger textfilen i samma mapp som de sidor du vill skydda. Var noga med att ange den absolut rätta sökvägen som ofta inte är den du ser när du är uppkopplad via FTP-klienten... Kolla med ditt webhotell om du är osäker. OBS! Använd inga blanksteg i sökvägen. Byt istället namn på mappen om den innehåller blanksteg eller understrykningsstreck.
En sökväg med mappnamnet:
/min mapp/.htpasswd
ska istället vara:
/min_mapp/.htpasswd
eller
/minmapp/.htpasswd
Om du får problem med lösenorden som genereras med tjänsterna för passwordgenerator ovan kan du istället göra dem själv med Apache's eget program htpassw.exe som du kör i Kommandotolken. Det innebär att du jobbar i DOS-läge och då krävs lite grundläggande kunskaper i DOS (som att tex förflytta sig till rätt mapp). Hämta programmet htpasswd.exe » (36 Kb) och kör det från Kommandotolken (DOS-prompten).
Windows
kommandotolk hittar du någonstans i Start-menyn:![]()
Du kan också starta den med olika kommando beroende på version: cmd.exe eller command.exe. När du kör programmet htpasswd ser du vilka växlar som kan användas. I exemplet nedan ligger programfilen "htpasswd.exe" i mappen "htpasswd":




TIPS! Om du inte har behov av så hög skyddsnivå kan lösenord med javascript » vara ett alternativ istället. Säkerheten är betydligt lägre men de är enklare att administrera och körs direkt i webäsaren och är alltså inte beroende av programvaran Apache webserver.
Om du använder PHP kan du anpassa dina inloggningssidor som du vill och även ange flera användare och lösenord i en MySQL-tabell. Läs mer om login och lösenordsskydd med PHP och MySQL i guiden PHP exempel »