Beginner’s Gids voor het WordPress .htaccess-bestand

Gepubliceerd: door Jason Cosper
Beginner’s Gids voor het WordPress .htaccess-bestand thumbnail

Je site veilig houden moet een topprioriteit zijn voor elke beheerder. WordPress is een veilig platform vanuit de basis, maar dat betekent niet dat het immuun is voor aanvallen. Gelukkig kun je, zelfs als je geen beveiligingsexpert bent, een bestand genaamd .htaccess gebruiken om de beveiligingsbeleid van je site te versterken.

.htaccess is een configuratiebestand voor de Apache-webserver, die veel WordPress-sites host. Het is een krachtig hulpmiddel dat je site beschermt en de prestaties verbetert door enkele kleine aanpassingen aan de code. Door dit bestand te bewerken, kun je gebruikers verbannen, omleidingen creëren, aanvallen voorkomen en zelfs de toegang tot specifieke delen van je site ontzeggen.

Een Introductie Tot Het .htaccess Bestand

.htaccess staat voor “HyperText Access.” Het is een configuratiebestand dat bepaalt hoe op Apache-gebaseerde servers interacteren met je site. In eenvoudige termen controleert .htaccess hoe bestanden in een directory kunnen worden benaderd. Je kunt het zien als een bewaker voor je site omdat het beslist wie er binnen mag en wat ze mogen doen.

Standaard is een .htaccess bestand meestal inbegrepen in je WordPress-installatie. Het hoofddoel van dit bestand is om de beveiliging en prestaties te verbeteren. Bovendien stelt het je ook in staat om de instellingen van je webserver te overschrijven.

Je vindt je .htaccess-bestand waarschijnlijk in de hoofdmap van je site. Omdat .htaccess van toepassing is op zowel de eigen map als eventuele submappen binnen die hoofdmap, heeft het invloed op je hele WordPress-site.

Het is ook de moeite waard om te vermelden dat het .htaccess bestand geen bestandsextensie heeft. De punt aan het begin zorgt er simpelweg voor dat het bestand verborgen blijft.

Hoe Je WordPress .htaccess Bestand Te Bewerken

Het bewerken van het .htaccess bestand is in de praktijk net zo eenvoudig als het bewerken van elk ander tekstbestand. Echter, omdat dit een kernbestand is, kunnen wijzigingen erin onbedoelde gevolgen hebben.

Om deze reden is het van cruciaal belang dat je je site back-upt voordat je begint, ongeacht of je een beginner of een ervaren ontwikkelaar bent.

Wanneer je klaar bent om je .htaccess bestand te bewerken, kun je er toegang toe krijgen via Secure File Transfer Protocol (SFTP) of Secure Shell (SSH). Je vindt .htaccess in de rootmap van je site:

WordPress .htaccess-bestand

Open het bestand met je favoriete teksteditor, zoals TextEdit of Kladblok. Als het bestand nog niet eerder bewerkt is, zie je de volgende standaardinformatie:

WordPress .htaccess-bestand

Het is belangrijk om niets toe te voegen of te veranderen tussen de # BEGIN en # END tags. In plaats daarvan moet alle nieuwe code na dit blok worden toegevoegd.

Op dit moment hoef je alleen nog maar je code toe te voegen en het bestand op te slaan. Wanneer je meerdere nieuwe functies toevoegt, is het het beste om elke functie apart op te slaan en te testen. Als er een fout optreedt, maakt dit het veel eenvoudiger om te achterhalen welke wijziging het probleem veroorzaakte.

Hoewel bijna alle WordPress-installaties al een .htaccess bestand zullen bevatten, moet je in sommige gevallen er zelf een aanmaken. Dit kun je doen met een teksteditor naar keuze, zolang je het maar opslaat met de juiste bestandsnaam: .htaccess zonder extensie.

Het is ook belangrijk om de toestemmingen van het bestand correct in te stellen. Je kunt dan .htaccess uploaden naar de rootdirectory van je site.

9 Dingen Die Je Kunt Doen Met Je WordPress .htaccess Bestand

Nu je bekend bent met het .htaccess-bestand, is het tijd om dieper in te duiken. We gaan je een aantal manieren laten zien hoe je eenvoudig de beveiliging en prestaties van je site kunt verbeteren door dit bestand te bewerken.

Gebruik simpelweg de codefragmenten die we hieronder hebben verstrekt, en vergeet niet om een back-up te maken voordat je begint!

1. Toegang Tot Delen Van Je Site Weigeren

Een van de nuttigste dingen die je kunt doen met .htaccess is toegang weigeren tot bepaalde pagina’s en bestanden. Er zijn een aantal bestanden die je om veiligheidsredenen op deze manier zou moeten verbergen, zoals je wp-config.php-bestand.

Je kunt dit doen door de volgende code toe te voegen, waardoor een 404 fout verschijnt als iemand probeert het bestand te bekijken:

<Files ~ "/wp-config.php">
Order Allow,Deny
Deny from All
</Files>

In gevallen waar gevoelige gegevens verborgen moeten blijven, kan het nuttig zijn om de toegang tot de betreffende map te beperken. Omdat veel WordPress-sites dezelfde mappenstructuur gebruiken, kan deze instelling je site kwetsbaar maken. Als je de volgende regel toevoegt, wordt de standaard directoryvermeldingsfunctie uitgeschakeld:

Opties -Indexes

Dit zal gebruikers en robots verhinderen om je mapstructuur te bekijken. Als iemand probeert toegang te krijgen, wordt in plaats daarvan een 403-foutpagina getoond.

2. Doorverwijzen en Herschrijven van URL’s

Redirects maken stelt je in staat om gebruikers automatisch naar een specifieke pagina te sturen. Redirects kunnen bijzonder nuttig zijn als een pagina is verplaatst of verwijderd, en je wilt dat gebruikers die proberen die pagina te bereiken ergens anders naartoe worden geleid.

Je kunt dit bereiken met een plugin zoals Redirection, maar het is ook mogelijk door het bewerken van het .htaccess bestand. Om een omleiding te creëren, gebruik je de volgende code:

Redirect /oldfile.html http://www.example.com/newfile.html

Je kunt waarschijnlijk zien wat hier gebeurt. Het eerste deel is het pad naar het oude bestand, terwijl het tweede deel de URL is waar je wilt dat bezoekers naar worden doorgestuurd.

Ontvang inhoud rechtstreeks in uw inbox

Meld u nu aan om alle laatste updates rechtstreeks in uw inbox te ontvangen.

3. Dwong Je Site Om Veilig Te Laden Met HTTPS

<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class=’embed-container’><iframe src=’https://www.youtube.com/embed/QeicRf_Ri3Y’ frameborder=’0′ allowfullscreen></iframe></div>

Als je een SSL-certificaat aan je domein hebt toegevoegd, zoals DreamHost’s gratis Let’s Encrypt-certificaat, is het een goed idee om je site te dwingen om via HTTPS te laden. Dit zorgt ervoor dat je site veiliger is voor zowel jou als je bezoekers.

Je kunt dit realiseren door de volgende code toe te voegen:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Je site zal nu automatisch alle HTTP-verzoeken omleiden en ze doorsturen naar HTTPS. Als een gebruiker bijvoorbeeld probeert toegang te krijgen tot http://www.example.com, wordt hij automatisch omgeleid naar https://www.example.com.

4. Wijzig Cache-instellingen

Browsercaching is een proces waarbij bepaalde websitebestanden tijdelijk worden opgeslagen op het lokale apparaat van een bezoeker om pagina’s sneller te laten laden. Met behulp van .htaccess kun je de tijd wijzigen dat jouw bestanden in de browsercache worden bewaard totdat ze worden bijgewerkt met nieuwe versies.

Er zijn verschillende manieren om dit te doen, maar voor dit voorbeeld gebruiken we een functie genaamd mod_headers. De volgende code zal de maximale cachingtijd voor alle jpg, jpeg, png, en gif bestanden wijzigen:

<ifModule mod_headers.c>
<filesMatch ".(jpg|jpeg|png|gif)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>

We hebben de maximale tijd ingesteld op 2.592.000 seconden, wat gelijk staat aan 30 dagen. Je kunt dit aantal wijzigen als je wilt, evenals de bestandsextensies die worden beïnvloed. Als je verschillende instellingen voor verschillende extensies wilt toevoegen, voeg dan gewoon meer mod_header functies toe.

5. Voorkom Bepaalde Scriptinjectie-aanvallen

Scriptinjectie (of ‘code-injectie’) aanvallen proberen de uitvoering van een site of applicatie te wijzigen door ongeldige code toe te voegen. Bijvoorbeeld, iemand zou een script kunnen toevoegen aan een tekstveld op jouw site en dit vervolgens indienen, wat ertoe kan leiden dat jouw site daadwerkelijk het script uitvoert.

Je kunt de volgende code toevoegen om te beschermen tegen bepaalde types van scriptinjectie:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

Je site zou nu pogingen tot scriptinjectie moeten kunnen detecteren en stoppen, en de dader doorsturen naar je index.php pagina.

Het is echter belangrijk om op te merken dat dit voorbeeld niet tegen alle soorten injectieaanvallen zal beschermen. Hoewel deze specifieke code zeker nuttig kan zijn, moet je het niet gebruiken als je enige bescherming tegen dit type aanval.

6. Stop Aanvallen Door Gebruikersnaamopsomming

Gebruikersnamenopsporing is een proces waarbij gebruikersnamen van je site worden verzameld door naar de auteurspagina van elke gebruiker te kijken. Dit is vooral problematisch als iemand erin slaagt je beheerdersgebruikersnaam te vinden, wat het voor bots veel gemakkelijker maakt om toegang te krijgen tot je site.

Je kunt helpen gebruikersnaam enumeratie te voorkomen door de volgende code toe te voegen:

RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{QUERY_STRING} author=d
RewriteRule .* - [R=403,L]

Dit zal bepaalde pogingen tot het opsommen van gebruikersnamen stoppen en in plaats daarvan een 403-foutpagina tonen. Houd er rekening mee dat dit niet alle opsommingen voorkomt, en je moet je beveiliging grondig testen. We raden ook aan om je inlogpagina verder te versterken door het implementeren van Multifactor Authenticatie.

7. Voorkom Afbeelding Hotlinking

Image hotlinking is een veelvoorkomend probleem dat optreedt wanneer afbeeldingen op je server worden weergegeven op een andere site. Je kunt dit stoppen door de volgende code toe te voegen aan .htaccess:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www.)?example.com/.*$ [NC]
RewriteRule .(png|gif|jpg|jpeg)$ https://www.example.com/wp-content/uploads/hotlink.gif [R,L]

Vervang example.com door je eigen domein, en deze code voorkomt dat afbeeldingen geladen worden op alle andere sites. In plaats daarvan zal de afbeelding die je op de laatste regel specificeert laden. Je kunt dit gebruiken om een alternatieve afbeelding te sturen naar sites die proberen grafische bestanden van je server weer te geven.

Wees ervan bewust dat dit problemen kan veroorzaken wanneer je wilt dat afbeeldingen extern verschijnen, zoals op zoekmachines. Je kunt ook overwegen om te linken naar een script in plaats van een statische afbeelding, en vervolgens te reageren met een afbeelding met een watermerk of een afbeelding die een advertentie bevat.

8. Beheer Je Bestandsextensies

Door .htaccess te gebruiken, kun je beheersen hoe bestanden van verschillende extensies door je site worden geladen. Je kunt veel doen met deze functie, zoals bestanden uitvoeren als PHP, maar we gaan nu eerst naar een basisvoorbeeld kijken.

De volgende code zal de bestandsextensie van PHP-bestanden verwijderen wanneer ze worden geladen. Je kunt dit met elk bestandstype gebruiken, zolang je alle instanties van “php” vervangt door de extensie die je wilt:

RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /.*index HTTP/
RewriteRule ^(.*)index$ http://example.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ http://example.com/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /(.+).php HTTP/
RewriteRule ^(.+).php$ http://example.com/$1 [L,R=301]
RewriteRule ^([a-z]+)$ /$1.php [L]

Dit zorgt ervoor dat alle PHP-bestanden worden geladen zonder hun extensie in de URL weer te geven. Bijvoorbeeld, het index.php bestand zal verschijnen als alleen index.

9. Bestanden Dwingen Te Downloaden

Tot slot, als er een bestand wordt opgevraagd op jouw site, is het standaardgedrag om het in de browser weer te geven. Bijvoorbeeld, als je een audiobestand host, zal het beginnen te spelen in de browser in plaats van dat het wordt opgeslagen op de computer van de bezoeker.

Je kunt dit wijzigen door de site te dwingen het bestand te downloaden in plaats daarvan. Dit kan worden gedaan met de volgende code:

AddType application/octet-stream mp3

In dit voorbeeld hebben we mp3-bestanden gebruikt, maar je kunt dezelfde functie gebruiken voor txt, mov of elke andere relevante extensie.

Verbeter De Beveiliging En Prestaties Van Je Site

Het .htaccess-bestand biedt flexibiliteit voor het beheersen van het gedrag van je webserver. Je kunt het ook gebruiken om de prestaties van je site te verhogen en meer controle te krijgen over wie precies toegang heeft tot welke informatie.

Met .htaccess kun je de toegang tot bepaalde delen van je website weigeren. Bovendien stelt het je in staat om URL’s om te leiden, je site te dwingen om over HTTPS te laden, en sommige scriptinjectie-aanvallen te voorkomen.

Je .htaccess-bestand bewerken is slechts één manier om de beveiliging van je site te verbeteren. Het kiezen van een veilige WordPress hostingprovider is een andere. Bekijk onze DreamPress beheerde hostingplannen om te zien hoe wij de beveiliging en prestaties van je website kunnen verbeteren!

Ad background image

Doe Meer Met DreamPress

DreamPress Plus en Pro gebruikers krijgen toegang tot Jetpack Professional (en meer dan 200 premium thema’s) zonder extra kosten!

Bekijk De Pakketten