Blokkeer IP-adressen in een .htaccess-bestand

Soms wil je een IP-adres blokkeren en de toegang tot je website ontzeggen. Bijvoorbeeld omdat een bezoeker zich misdraagt, of een bot die heel veel HTTP requests (verzoeken) tegelijkertijd uitvoert. Dan is het handig als je weet hoe je een IP-adres kunt blokkeren voor je site in een .htaccess-bestand.

In een .htaccess-bestand kun je de volgende regels opnemen om het IP-adres 203.0.113.12 te blokkeren. Vervang dit door het IP-adres door het adres dat geblokkeerd moet worden.

<RequireAll>
  Require all granted
  Require not ip 203.0.113.12
</RequireAll>

Een tweede IP-adres plaats je er eenvoudig onder: Require not ip 203.0.113.13. En loopt dit snel op naar meer IP’s uit eenzelfde “range”, dan kun je een heel IP-blok blokkeren door het “netmask” op te geven. Zie dit voorbeeld:

<RequireAll>
  Require all granted
  Require not ip 203.0.113.0/24
</RequireAll>

In andere online voorbeelden zie je vaak een andere syntaxis met “Order Deny,Allow” en “Deny from all” in .htaccess-bestanden. In mijn blogpost WordPress .htaccess security best practices in Apache 2.4.6+ leg ik uit waarom dat fout is.