Soms wil je niet dat je bezoekers al je webpagina's kunnen zien,
maar een gedeelte van je website alleen toegankelijk maken voor een bepaalde groep bezoekers.
Hier lees je hoe je een gedeelte van je website beveiligen kunt.
Voor wie liever kijkt dan leest, is er ook een videotutorial beschikbaar.
Waar je mee moet beginnen, is een aparte directory op je server aanmaken, waar je straks je leden naartoe verwijst.
Ik heb die directory 'Alleen-voor-leden' genoemd, maar je kunt hem natuurlijk elke naam geven die je wilt.
Binnen die directory plaats je een bestand dat 'index.html' heet. Je hebt dit bestand speciaal gemaakt voor je leden.
Let op: Je hebt nu dus twee bestanden op je website die 'index.html' heten: één in je hoofddirectory en
één in je Alleen-voor-leden-directory. Pas op dat je niet per ongeluk het nieuwe index-bestand in je hoofddirectory zet:
het index-bestand dat daar staat wordt dan overschreven en je homepage komt er ineens héél anders uit te zien!
Maak nu een leeg bestand aan met je html-editor of Kladblok en plak er de volgende code in:
AuthUserFile /exacte/path/naar/.htpasswd
AuthGroupFile /dev/null
AuthName "Beveiligde pagina"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
Vul bij AuthUserFile het pad in naar het bestand .htpasswd dat straks in je beveiligde map komt te staan.
De rest haal je weg.
In mijn geval komt het er bijvoorbeeld zó uit te zien:
AuthUserFile /home/httpd/vhosts/mijn-eigen-website.nl/httpdocs/Alleen-voor-leden/.htpasswd
(In het vragen-gedeelte van deze website lees je hoe je erachter kunt komen wat
het precieze pad naar jouw beveiligde map is.)
Vervang de tekst "Beveiligde pagina" in de code door de titel die je aan het wachtwoordvenster wilt geven (laat de aanhalingstekens staan).
Bezoekers krijgen deze tekst te zien als ze bestanden uit je beveiligde directory willen bekijken.
Sla het bestand op onder de naam .htaccess (in de te beveiligen directory).
Als je een map van je website beveiligen wilt, heb je verder nog een bestand nodig dat .htpasswd heet.
Maak dus nu een leeg document aan dat je onder de naam .htpasswd opslaat.
(NB: beide bestandsnamen (.htaccess en .htpasswd) beginnen dus met een punt!)
Neem hier de gebruikersnamen en passwords op, op de volgende manier:
username:password
Voor 'username' kies je een woord dat je als gebruikersnaam wilt gebruiken;
voor 'password' moet je een woord kiezen dat je vervolgens laat versleutelen door een zgn.
htpassword-gateway. Je klikt op de woorden 'Basic authentication' in de linkerkolom en je vult je username en password in in de daarvoor bestemde velden. Daarna klik je op de knop 'Create' en in het vak eronder verschijnt de inhoud voor je .htpassword-bestand.
Voor de beveiliging van mijn directory heb ik dus de gebruikersnaam 'website' ingevuld en het password 'beveiligen'.
Dit leverde de volgende tekst op voor mijn .htpassword-bestand: website:Se03rN5flBqNw.
Upload ten slotte beide bestanden naar de directory die je wilt beveiligen.
Plaats ze niet in de hoofddirectory van je site, anders wordt je hele site beveiligd en kan niemand je homepage meer zien!
Als je de beide bestanden in de directory hebt gezet, kun je ze niet meer zien met je ftp-programma. Maar ze staan er wel.
Wil je ze toch nog kunnen bekijken (om ze te kunnen verwijderen bijvoorbeeld),
dan doe je dit in Core FTP
(het ftp-programma dat ik gebruik om mijn bestanden te uploaden),
door in de directory te gaan staan (bijvoorbeeld op een ander bestand dat zich daarin bevindt),
dan op de rechtermuisknop te klikken en te kiezen voor Directory Commands - List Mode - Advanced.
Nu zie je het .htaccess-bestand en het .htpassword-bestand wel staan.
Vanaf deze Alleen-voor-leden-homepage kun je natuurlijk links aanbrengen naar andere pagina's binnen dezelfde directory.
Bezoekers die rechtstreeks één van die subpagina's opvragen, krijgen ook eerst het inlogscherm te zien voordat ze verder kunnen.
Het schijnt dat deze manier van een website beveiligen alleen op Apache-webservers werkt.
Dus lukt het je niet op de bovenbeschreven manier,
vraag dan eerst eens na wat het type server is waar je webhosting provider gebruik van maakt.
En controleer goed of je wel het juiste pad naar je .htpasswd bestand
hebt ingevuld.
Want kom je maar niet in je beveiligde map, dan is er een grote kans dat je het pad niet goed hebt aangegeven.
PS: Om te zien hoe e.e.a. in de praktijk werkt, ga naar het
beveiligde gedeelte van mijn eigen website.
Je logt in met: gebruikersnaam 'website' en wachtwoord 'beveiligen'.
Je komt dan op een pagina terecht met dezelfde tekst als de huidige pagina,
alleen bevindt die pagina zich in een map die is beveiligd door middel van htaccess.