Skjul website bag .htaccess login

Vi beskrev i et tidligere indlæg hvordan man kan beskytte WordPress' login bag et ekstra lag af sikkerhed ved hjælp af et .htaccess login. Men det er naturligvis også muligt at skjule en hel hjemmeside, hvis man f.eks. vil begrænse adgangen til et ny hjemmeside man er ved at bygge, eller hvis man kun ønsker at den skal være synlig for en mindre gruppe personer.

Fremgangsmåden er næsten identisk med det allerede beskrevne - indsæt nogle linjer i .htaccess og opret en fil med brugernavne og (krypterede) passwords - men linjerne der skal føjes til .htaccess er lidt anderledes når det er en mappe der skal beskyttes i stedet for en enkelt fil.

I eksemplet nedenfor er WordPress installeret i server-mappen /home/h2g2/public_html som vi vil beskytte med et login. I cPanels filmanager ser strukturen således ud:

Rodmappe h2g2

(Det er selvfølgelig ikke alle webhoteller der bruger cPanel, men de fleste webhosts har tilsvarende værktøjer).

NB! Hvis dit webhotel bruger cPanel, så behøver du ikke gøre nedenstående manuelt. Brug i stedet "Password Protect Directories" værktøjet i cPanel. For kontrolpaneler der ikke har denne feature er fremgangsmåden:

1) Start med at redigere .htaccess filen der er placeret i WP installationsmappen (/home/h2g2/public_html/.htaccess i vores tilfælde). Tilføj følgende linjer øverst:

ErrorDocument 401 default
AuthType Basic
AuthName "WordPress"
AuthUserFile /path/to/.htpasswd
Require valid-user

Det første punktum i filnavnet .htaccess betyder at filen som standard er skjult, så husk at slå visning af skjulte filer til i filmanageren.

Læg mærke til linjen AuthUserFile /path/to/.htpasswd. Indholdet her skal erstattes med stien til en tekstfil der indeholder brugernavn(e) og password(s) der giver adgang til hjemmesiden. I vores tilfælde kalder vi den .htpasswd og den bliver placeret i mappen /home/h2g2/.htpasswds/, så der skal stå

AuthUserFile /home/h2g2/.htpasswds/.htpasswd

Det er ikke afgørende hvad filen kaldes, men det er vigtigt at den ligger udenfor de mapper hvor selve hjemmesidens filer ligger. I vores eksempel er filerne for domænet "h2g2.dk" placeret i mappen /home/h2g2/publichtml/ og i de underliggende mapper. Hvis vi lægger filen med brugernavne og passwords her, så er der en risiko for at et uheld på serveren kan gøre den læsbar for resten af verden. Ved at lægge den udenfor publichtml mappen og dens undermapper kan vi forhindre denne type af uheld.

2) Dernæst oprettes filen .htpasswd med mindst ét brugernavn og password der giver adgang til at se hjemmesiden.

I det tidligere indlæg forklarede vi hvordan man kan oprette indholdet af denne fil ved hjælp af kommandoen htpasswd (f.eks. fra terminalvinduet på en Mac). Hvis man ikke har adgang til htpasswd, så kan man evt. bruge et af de mange online værktøjer i stedet, f.eks. dette. (Ulempen ved at bruge et online værktøj er selvfølgelig at man så bliver nødt til at stole på at den der har lavet det). Genbrug aldrig brugernavn og password til din WordPress admin bruger eller til webhostens kontrolpanel.

I vores tilfælde er brugernavnet "webbruger" og password er "gandil13". Det giver følgende linje som indsættes i .htpasswd:

webbruger:$apr1$vQWx07CS$CQucR7kSzbP/dn5.xRfol1

Herefter vil besøgende på h2g2.dk først få adgang til at se siden efter at være logget ind med ovenstående brugernavn og password.