Mijn-eigen-website.nl

Websitebouw voor doe-het-zelvers (zonder WordPress)

Vier manieren om een inlogsysteem te maken

Een inlogsysteem met php, htaccess of membership-software? Beantwoord eerst deze vragen.

Regelmatig wordt me gevraagd hoe je een login-pagina kunt maken. Maar op deze vraag is niet zomaar een antwoord te geven. Eerst zou ik moeten weten:

  • wat je precies wilt beschermen: zijn dat een of meer webpagina’s of gaat het om bepaalde bestanden (zoals foto’s, pdf-, mp3-, mp4-bestanden, of Word- of Excel-documenten), of misschien een combinatie daarvan?

  • hoeveel bezoekers je toegang wilt verschaffen, gaat het om enkele of zullen het er grote aantallen worden?

  • hoe je inlogsysteem moet werken: wil je zelf de inlog-gegevens vaststellen en aan de betrokkene(n) doorgeven of moeten gebruikers hun eigen gebruikersnaam en wachtwoord kunnen aanmaken, opvragen en wijzigen?

Welk inlogsysteem je het beste kunt kiezen, hangt af van de antwoorden die je op deze drie vragen geeft.

Eenvoudige php-beveiliging

Stel, je hebt een bepaalde webpagina die je alleen wilt laten zien aan mensen die daarvoor van jou een wachtwoord hebben ontvangen. Een simpele manier om dat te doen, is door een php-script in die pagina te zetten (je pagina moet dan wel de extensie .php hebben). Roept iemand die pagina op in een browser, dan vraagt dit script eerst om een wachtwoord. Pas wanneer dat wachtwoord goed is ingetypt, wordt de opgevraagde pagina vertoond.

In dit geval heb je dus één wachtwoord, dat je toestuurt aan degenen die deze pagina mogen zien. Verlaat iemand deze pagina en wil hij deze daarna nog eens bekijken, dan zal hij opnieuw het wachtwoord moeten invoeren.

Htaccess

Wil je meerdere pagina’s beveiligen, of wil je behalve webpagina’s ook bepaalde bestanden (pdf-bestanden, Word/Excel-documenten, of foto’s of video’s) afschermen, dan moet je die bij elkaar zetten in een aparte map op je server, en in deze map ook een zogenaamd .htaccess-bestand zetten. Verder moet deze map een .htpasswd-bestand bevatten, waarin de inloggegevens zijn opgenomen.

Deze zgn. htaccess-methode biedt iets meer mogelijkheden dan de vorige: je kunt er dus meerdere bestandstypen mee afschermen, gebruikers hebben behalve een wachtwoord ook een gebruikersnaam nodig, en je kunt meerdere gebruikersnaam/wachtwoord-combinaties aanmaken, zodat je iedere gebruiker zijn eigen toegangscodes kunt geven als je dat wilt. Jij bent wel weer degene die de login-gegevens instelt en die zelf aan de betrokkenen doorgeeft. Verder blijft bij deze methode de gebruiker ‘ingelogd’, totdat hij zijn browser afsluit. Verlaat hij de pagina en wil hij daarna weer terug, dan kan dat dus zonder dat hij opnieuw hoeft in te loggen.

Uitgebreid php-script

Wil je dat je bezoekers zelf een gebruikersnaam en wachtwoord kunnen aanmaken (en dit ook weer kunnen opvragen als ze het vergeten zijn), dan heb je een geavanceerder systeem nodig. De gebruikersnamen en wachtwoorden bevinden zich dan in een database op je server en het php-script beheert die gegevens, leest ze uit, controleert ze, en bepaalt wat er gebeurt als deze gegevens wel of niet overeenkomen met de inloggegevens die een gebruiker invoert. (Je moet in dit geval natuurlijk wel een hosting account hebben waar je de beschikking hebt over MySQL.)

Een uitleg over het maken van zo’n uitgebreid login-script vind je op Sitemasters.be.

Membership-software

Aan de andere kant van het spectrum heb je ten slotte de membership-software. Dit soort software heeft een interface waarmee je grote aantallen bestanden en gebruikers kunt beheren, verschillende niveaus van toegang kunt instellen, bepaalde content pas na een bepaalde tijd toegankelijk kunt maken, enzovoort. Voorbeelden zijn: AuthPro, Kajabi en aMember (dit is het systeem dat ik zelf gebruik voor het lidmaatschapsgedeelte op deze site).