Om din webbplats ligger på en webbserver med programvaran Apache webbserver kan du lösenordskydda webbsidor genom att använda Apaches inbyggda funktioner. Principen liknar lösningar med ASP som ju kräver en Microsoft webbserver. För att skydda vissa sidor lägger du en textfil i samma mapp som webbsidorna. I textfilen anger du vilka som ska ha tillgång till sidorna och deras lösenord.
Test-login |
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 Anteckninga (Notepad) och de ska alltså inte ha något filtillägg (de får INTE ha tillägget .txt). Filerna ska ha namnen .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 webbhotell 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 kryptera lösenorden själv! Använd någon av tjänsterna .htaccess Tools eller www.webmaster-toolkit.com där du fyller i önskat användarnamn och 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 och 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 webblä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 använd 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 webbservern 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 webblä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
login för MEDLEM |
Användarid: gäst |
login för ADMINISTRATÖR |
Användarid: admin |
Här anges användarnas namn och lösenord. OBS! Lösenorden måste anges i krypterad form och utan mellanslag.
OBS! Du kan inte kryptera lösenorden själv! Använd någon av tjänsterna .htaccess Tools eller www.webmaster-toolkit.com där du fyller i önskat användarnamn och 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 och 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 webblä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örs-inloggningen i exemplet ovan se ut:
Textfilerna skapar du i tex Anteckninga (Notepad) och de ska alltså inte ha något filtillägg (de får INTE ha tillägget .txt). Filerna ska ha namnen .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 webbhotell 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 webbserver.
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 i guiderna om PHP »