Het instellen van een vorm van wachtwoordverificatie voor een website kan een cruciaal onderdeel zijn van het delen van inhoud met geautoriseerde gebruikers. In een ander artikel bespreken we hoe je dat precies kunt doen met een paar handige .htaccess regels. Als je meer wil lezen over hoe dit in zijn werk gaat, kan je ons artikel lezen over hoe je bestanden of directories met .htaccess kan beveiligen met een wachtwoord. Je vraagt je misschien af hoe deze gegevens worden gevalideerd en waar ze worden opgeslagen? Het antwoord is met het .htpasswd bestand, dat de focus van dit artikel zal zijn.
Wat is .htpasswd?
Een .htpasswd bestand wordt meestal gebruikt bij het beschermen van een bestand, map of hele website met een wachtwoord met behulp van HTTP-authenticatie en geïmplementeerd met behulp van regels binnen een .htaccess bestand. Gebruikersgegevens worden opgeslagen op afzonderlijke regels, waarbij elke regel een gebruikersnaam en wachtwoord bevat, gescheiden door een dubbele punt (:). Gebruikersnaam en wachtwoord worden gescheiden door een dubbele punt (:). Gebruikersnamen worden opgeslagen in platte tekst, maar wachtwoorden worden versleuteld opgeslagen in een gehasht formaat. Deze versleuteling is meestal MD5, hoewel ze in Linux gebaseerd kan zijn op de functie crypt(). Hoewel het mogelijk is om het wachtwoordbestand de naam te geven die u wilt, wordt dit sterk afgeraden omdat Apache standaard is voorgeconfigureerd om .htpasswd te gebruiken, en punt-bestanden (bestanden die beginnen met “.”) zijn over het algemeen verborgen bestanden.
Hoe maak je een .htpasswd bestand aan?
Afhankelijk van je platform, kan dit op een paar verschillende manieren worden bereikt. De eenvoudigste methode is om naar een van de verschillende websites te gaan die .htpasswd aanmaken en hun eenvoudige instructies te volgen om de benodigde invoer voor een .htpasswd bestand te genereren. Ik zou de generator die aangeboden wordt door htaccesstools.com aanraden omdat hij zeer eenvoudig en to-the-point is, ga er eens kijken: Htpasswd Generator. Als je net als ik wilt zien hoe dit in zijn werk gaat zonder een generator te gebruiken, blijf dan hier!
Eerst moet je een gebruikersnaam in gedachten hebben, voor dit voorbeeld heb ik gekozen voor de gebruikersnaam bob123. Vervolgens moet je ingelogd zijn op je server via SSH, als je niet zeker weet hoe je toegang krijgt tot je server via SSH lees dan het volgende artikel: Verbinding maken met je server via SSH. Tenslotte voer je het volgende commando uit, merk op dat als je dit uitvoert als een niet root gebruiker je sudo moet gebruiken.
htpasswd -c /home/usernamehere/.htpasswd bob123
Je zal gevraagd worden om een wachtwoord voor deze gebruiker op te geven en te bevestigen. Als je bijkomende gebruikers wil toevoegen, kan je dat als volgt doen:
htpasswd /home/usernamehere/.htpasswd newUser2
Als je de inhoud van het .htpasswd bestand zou controleren, zou je iets moeten zien dat lijkt op het volgende.
bob123:$apr1$FaPCZHMe$jYiw5.9UevKx25pBH4AsT/newUser2:$apr1$mrCHcVhc$oNdJeRcWKPk2z8dlzQI0x/