---
title: ".htpasswd: een map beveiligen met een wachtwoord"
description: ".htpasswd is een bestand met gebruikersnamen en gehashte wachtwoorden waarmee je een map op je website afschermt."
canonical: https://www.keurigonline.nl/begrippenlijst/htpasswd
last_modified: 2025-12-18
---

[Terug naar begrippenlijst](https://www.keurigonline.nl/begrippenlijst)

# htpasswd

.htpasswd is een bestand met gebruikersnamen en gehashte wachtwoorden waarmee je een map op je website afschermt.

Een .htpasswd-bestand bevat de gebruikersnamen en wachtwoorden waarmee je een map op je website afschermt. Probeert iemand die map te openen, dan toont de browser eerst een inlogvenster, nog voordat WordPress of een ander CMS iets laadt.

Elke regel bevat één gebruiker: een naam, een dubbele punt en een hash van het wachtwoord, bijvoorbeeld jan:$2y$05$ gevolgd door een lange reeks tekens. Het bestand werkt samen met een .htaccess-bestand in de beschermde map, dat met AuthType Basic, AuthUserFile en Require valid-user aangeeft dat alleen bekende gebruikers erin mogen. Het programma htpasswd van Apache maakt zulke regels aan en hasht wachtwoorden met onder meer bcrypt of MD5.

Deze methode heet HTTP Basic-authenticatie. De browser stuurt naam en wachtwoord bij elk verzoek mee, alleen omgezet naar Base64 en niet versleuteld, dus gebruik het uitsluitend op een site met HTTPS. Het is handig voor een testomgeving, een map met downloads of een extra slot op wp-admin, maar het vervangt geen echte gebruikersaccounts.

Op je hosting hoef je het bestand niet zelf te schrijven. In DirectAdmin open je Password Protected Directories (Beveiligde Mappen) en kies je de map. Daarna vul je een titel voor het inlogvenster in en maak je een gebruiker met een sterk wachtwoord aan. Onze LiteSpeed-servers lezen de regels in .htaccess net als Apache. Verschijnt er geen inlogvenster, controleer dan of een eigen .htaccess de instellingen overschrijft.

## Geschiedenis

Het htpasswd-bestand verscheen voor het eerst in [NCSA HTTPd](https://en.wikipedia.org/wiki/NCSA_HTTPd), de webserver waaruit Apache is voortgekomen. De onderliggende Basic-authenticatie werd in 1993 door Ari Luotonen bij CERN gebouwd en kwam in 1996 in de specificatie van HTTP/1.0 ([RFC 1945](https://datatracker.ietf.org/doc/html/rfc1945)).

Belangrijke mijlpalen:

- **1993:** Basic-authenticatie bij CERN
- **1996:** opgenomen in HTTP/1.0 (RFC 1945, mei)
- **1999:** RFC 2617 beschrijft Basic- en Digest-authenticatie
- **2015:** [RFC 7617](https://datatracker.ietf.org/doc/html/rfc7617) vervangt RFC 2617 voor het Basic-schema (september)
- **Apache 2.4:** htpasswd kan wachtwoorden met bcrypt hashen ([Wikipedia](https://en.wikipedia.org/wiki/.htpasswd))

## Bronnen

1. **Apache HTTP Server** - [htpasswd - Manage user files for basic authentication](https://httpd.apache.org/docs/2.4/programs/htpasswd.html)
2. **Apache HTTP Server** - [Authentication and Authorization](https://httpd.apache.org/docs/2.4/howto/auth.html)
3. **IETF (2015)** - [RFC 7617: The 'Basic' HTTP Authentication Scheme](https://datatracker.ietf.org/doc/html/rfc7617)
4. **MDN Web Docs** - [HTTP authentication](https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/Authentication)
5. **KeurigOnline Helpcentrum** - [Hoe beveilig ik een map met een wachtwoord in DirectAdmin?](https://help.keurigonline.nl/article/134-map-beveiligen-met-wachtwoord-in-directadmin)

## Gerelateerde artikelen

Beveiliging 23 jun 2026

[Website tegen inlogaanvallen beveiligen: 10 stappen](https://www.keurigonline.nl/blog/website-inlogbeveiliging-aanvallen)

Installeer de plugin **Limit Login Attempts Reloaded** als backstop op applicatieniveau. Aanbevolen instellingen: lockout na 5 mislukte pogingen, blokkade van het IP-adres voor 24 uur, en een e-mailmelding aan de admin bij elke lockout. Dit is de laatste vanglijn als de Cloudflare-rate-limit onverhoopt omzeild wordt.

### Stap 4: HTTP Basic Authentication op wp-login.php

Voeg een extra authenticatielaag toe vóór de WordPress-loginpagina. Via `.htaccess` en een `.<mark>htpasswd</mark>`-bestand eis je een gebruikersnaam en wachtwoord, nog voordat WordPress laadt:

```apacheconf
# Bescherm wp-login.php met HTTP Basic Auth
<Files wp-login.php>
    AuthType Basic
    AuthName "Beheerderstoegang"
    AuthUserFile /pad/naar/.<mark>htpasswd</mark>
    Require valid-user
</Files>

```
