Wil je een deel van je website beveiligen met een wachtwoord?
Met de htaccess-methode is een gedeelte van je website alleen te bekijken met het juiste wachtwoord.
Soms wil je niet dat je bezoekers ál je webpagina's kunnen zien, maar wil je dat een gedeelte van je website alleen toegankelijk is voor een bepaalde groep bezoekers. Hier lees je hoe je een gedeelte van je website beveiligen kunt.
Waar je mee moet beginnen, is een aparte directory (map) op je server aanmaken, waar je de bestanden in opslaat die je wilt afschermen. Dat kunnen foto-, video-, of geluidsbestanden zijn, maar ook pdf-bestanden of word- en excel-bestanden, of natuurlijk gewone webpagina's.
Je kunt deze map ook een eigen homepage geven (een webpagina met de naam
index.php
ofindex.html
), en op die pagina een soort inhoudsopgave zetten met links naar alle bestanden binnen de beveiligde map. (Maar let op als je dat doet: je hebt op je website dan dus twee bestanden dieindex.html
ofindex.php
heten: één in je hoofddirectory en één in je beveiligde map. Pas op dat je niet per ongeluk het verkeerde index-bestand in je hoofddirectory zet; het 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 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. Wat je hier moet invullen komt heel precies en je kunt daarom het beste gebruikmaken van de phpinfo-methode om het precieze pad naar jouw hoofdmap te achterhalen. Omdat het.htpassword
-bestand straks niet in de root (hoofdmap) van je website komt te staan, maar in een submap, moet je aan dit pad ook nog even de naam van die submap toevoegen, gevolgd door een forward-slash. Als ik een submap zou hebben die beveiligd heet, dan zou in mijn geval de eerste regel er zo uit komen te zien:AuthUserFile /var/www/vhosts/mijn-eigen-website.nl/httpdocs/beveiligd/.htpasswd
Vervang de tekst "Beveiligde pagina" uit de derde regel van 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 dan op onder de naam
.htaccess
(in je submap). Je moet erop letten dat het bestand NIEThtaccess.txt
ofhtaccess.html
of iets dergelijks gaat heten. De extensie moet alleenhtaccess
zijn. Er staat dus niets vóór de punt. Controleer dit voor de zekerheid nog even in Windows Verkenner of de Mac Finder. (Zie je (in Windows Verkenner) geen extensie staan, klik dan op Organiseren, daarna op Map- en zoekopties, kies het tabblad Weergave, en haal het vinkje weg voor de optie Extensies voor bekende bestandstypen verbergen. Klik dan op OK.)-
Als je een map van je website beveiligen wilt, heb je verder nog een bestand nodig dat
.htpasswd
heet. Daarvoor heb je een zogenaamde htpassword-gateway nodig, zoals je die vindt op htaccesseditor.com.Je gaat gebruikmaken van de Basic authentication. Daarvoor moet je een user name, een gebruikersnaam dus, en een password kiezen. Vul in de daarvoor bestemde vakken zelf een user name en password in, en klik dan op de knop Create. In het vakje eronder komt een stukje tekst te staan met je gekozen user name, gevolgd door een dubbele punt, en een reeks karakters. Kopieer die regel tekst en plak het in een nieuw bestand. Dit bestand sla je op als
.htpasswd
. Ook hier is de extensie dus NIETtxt
,html
ofphp
, maarhtpasswd
. Dit bestand kan trouwens meerdere gebruikersnaam/wachtwoord-combinaties bevatten. Op elke nieuwe regel kun je weer een nieuwe combinatie neerzetten, zodat je verschillende mensen verschillende inlogcombinaties kunt geven. Upload ten slotte beide bestanden naar de map die je wilt beveiligen. Plaats ze niet in de hoofddirectory van je site, anders wordt je hele site afgeschermd en kan niemand je homepage meer zien!
Als je de beide bestanden in de submap 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 moet je in je ftp-programma aangeven dat je de verborgen bestanden ook wilt zien. In FileZilla vink je daarvoor onder Server de optie Tonen van verborgen bestanden forceren aan. Dan zie je het
.htaccess
-bestand en het.htpassword
-bestand wel staan.Probeer je nu de beveiligde map op te roepen in je browser, dan moet je eerst een gebruikersnaam en wachtwoord invoeren. Heb je dat eenmaal gedaan, dan blijf je ingelogd totdat je je browser helemaal afsluit.
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.