Http adgangskontrol med og uden .htaccess

Hvis du f.eks. udvikler et nyt site der endnu ikke er offentligt, eller vil have et ekstra lag af sikkerhed på et internt website er http baseret adgangskontrol, der er både fordele og ulemper ved at bruge .htaccess derfor gennemgår vi både metoden med og uden brug af .htaccess, først med: (/var/www/.htaccess)

AuthType Basic
AuthName "Nothing here for you to see"
AuthUserFile /var/htpasswd
Require valid-user

Efterfølgende opretter jeg en password fil i /var/htpasswd

root@lab1:/var/www# htpasswd -c /var/htpasswd mike
New password:
Re-type new password:
Adding password for user mike

hvis jeg vil oprette endnu en bruger ser det sådan her ud:

root@lab1:/var/www# htpasswd /var/htpasswd sofie
New password:
Re-type new password:
Adding password for user sofie

Resultatet:

.htaccess har nogle performancemæssige issues, særligt ved komplekse website, derfor fraråder mange at bruge det, derfor kan det nogengange give mening at flytte dine statements op i apache’s config fil istedet, det kan f.eks. se sådan her ud i /etc/apache2/sites-available/default:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName lab1.mikjaer.com
 
        DocumentRoot /var/www
 
        <Directory /var/www>
                AuthType Basic
                AuthName "Nothing here for you to see"
                AuthUserFile /var/htaccess
                Require valid-user
        </Directory>
 
</VirtualHost>

Der er ikke rigtigt meget at fortælle, det virker på samme måde, blot tillader denne metode at slå .htaccess fra og dermed klemme lidt mere ydelse ud af serveren.

Hvis du vil lave adgangskontrollen lidt mere raffineret kan du kræve specifikke brugere:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName lab1.mikjaer.com
 
        DocumentRoot /var/www
 
        <Directory /var/www>
                AuthType Basic
                AuthName "Nothing here for you to see"
                AuthUserFile /var/htaccess
                require user mike sofie
        </Directory>
 
        <Directory /var/www/admin>
                AuthType Basic
                AuthName "Nothing here for you to see"
                AuthUserFile /var/htaccess
                require user mike
        </Directory>
 
</VirtualHost>

Nu har mike og sofie adgang til /www men kun mike til /www/admin, og er mike først logget ind på /www skal han ikke taste koden igen når han tilgår /www/admin.

Dette indlæg blev udgivet i Apache, Knowledge Base, Old Base. Bogmærk permalinket.

Skriv et svar