WordPress beveiligen met .htaccess

WordPress is de meest populaire cms en niet alleen bij de gebruikers maar ook bij hackers. Daarom is het belangrijk om vooral een WordPress website te beveiligen en hier zijn veel manieren voor. WordPress beveiligen met .htaccess is beter dan met een plugin. Dit is op server niveau en dat is de beste en meest veilige manier om je website te beveiligen. Plugins kunnen zelf beveiligingslekken hebben en dat is met .htaccess niet mogelijk.

WordPress beveiligen met .htaccess

We behandelen niet alleen hoe WordPress te beveiligen met .htaccess maar enkele kunnen ook op alle andere soorten websites gebruikt worden. Enkele zijn niet als beveiliging tegen hackers maar tegen het stelen en gebruik van je teksten en afbeeldingen. Ook dit zijn zaken die grag zou willen voorkomen als je veel tijd en werk steekt in je website.

De .htaccess file kan je benaderen met ftp of met file manager via de hosting. Ook kan de plugin file manager gebruikt worden maar vergeet niet deze zo snel mogelijk te verwijderen na het gebruik. De file staat in de root van de website, normaal public_html.

Hier behandelen we:

.htaccess file beveiligen

Ten eerste gaan we onze .htaccess file beveiligen voordat wij deze gaan gebruiken om onze WordPress website te beveiligen.

Omdat het een server file is kunnen we deze volledig beschermen dat andere deze kunnen bekijken.
Om deze file te beveiligen, plaats de volgende code in je .htaccess file.


# Deny access to .htaccess
<Files .htaccess>
Order allow,deny
Deny from all
</Files>

Deze code kan je gebruiken op elke willekeurige website.

De .htaccess file is de beste plaats om je website te beveiligen tegen hackers, spammers en meer.

xmlrpc.php uitschakelen

Deze code is speciaal om WordPress te beveiligen met .htaccess en werkt niet op andere website. De file xmlrpc.php wordt normaal namelijk gebruikt om via je telefoon bijvoorbeeld toegang te krijgen tot je website om een bericht te plaatsen. Deze file wordt ook gebruikt voor pingback en trackback gebruikt. Vroeger wilde men dit wel eens gebruiken voor SEO maar tegenwoordig gebruiken vooral hackers om een geforceerde aanval te doen op je website.

Om niet te diep in te gaan op de functie van deze file, als je geen gebruik wilt maken van de functionaliteit is het beter deze te beveiligen. En dit doe je door onderstaande code in je .htaccess te plaatsen.


# Deny access to xmlrpc.php
<Files "xmlrpc.php">
Order Allow,Deny
deny from all
</Files>

wp-config.php beveiligen

Ook deze beveiliging is alleen voor WordPress. Deze file bevat de meest belangrijke informatie van je website zoals informatie voor de database verbinding met wachtwoorden en al. Ook staan in deze file de security keys. Je wilt natuurlijk dat niemand bij deze informatie kan komen.

Om te voorkomen dat andere bij deze informatie kunnen komen plaats je onderstaande code in je .htaccess file.


# Deny access to wp-config.php
<files wp-config.php>
order allow,deny
deny from all
</files>

Voorkom hotlinking van afbeeldingen

Dit is eigenlijk geen beveilig omdat je hiermee niet beveiligd maar je voorkomt hiermee dat andere met jouw foto’s lopen te showen en ook nog eens de bandbreedte van je website gebruiken. Dus voor SEO en Pagespeed is het een aanrader dit te gebruiken.

Dit is interessant als je veel foto’s en afbeeldingen op je website hebt staan. Er zijn namelijk website die deze afbeeldingen gebruiken om galerijen te maken en dergelijken. Zij gebruiken een direct link naar de afbeelding op jouw website. Dit noemen ze hotlinking. Misschien denk je dat het niet zo erg is maar ze gebruiken de bandbreedte van jouw website. Dit kan er zelfs toe leiden dat je website langzamer wordt. Nu pagespeed en Web Vitals steeds belangrijker worden wil je natuurlijk niet dat iemand anders van jouw bandbreedte gebruik maakt.

Vergeet alleen niet dat dit dus ook gebeurd in de RSS en voor zoekmachine. Aan de RSS kunnen we weinig doen maar we kunnen wel toestemming geven aan verschillende zoekmachines.

WordPress beveiligen met .htaccess Freelance website ontwikkeling

# Deny hotlinking except for your own domain and some search engines
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mijmdomein\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?(.*\.)?google\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?bing\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?(.*\.)?bing\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yahoo\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?(.*\.)?yahoo\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?duckduckgo\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?(.*\.)?duckduckgo\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?yandex\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?(.*\.)?yandex\.(.+)/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|png)$ /do-not-use-my-bandwidth.jpg [L]

Verander op regel 3, mijmdomein\.com, mijndomein voor het domein van de website en de .com door de extensie van je website. Voor deze website zou het dan worden cornelisdeleeuwvanweenen\.nl
Verwijder de zoekmachine die je wilt verwijderen maar beste is deze te laten staan.

Op regel 15, de laatste regel, staat /do-not-use-my-bandwidth.jpg. Vervang dit voor een link naar een afbeelding die je hiervoor in de plaatst wilt toen. Als iemand namelijk je afbeelding hotlinkt dan worden deze vervangen door de afbeelding die je hier plaatst.

Beveilig i-frame gebruik

Ook deze code is niet echt een beveiliging maar is om misbruik van jouw werk te voorkomen. Er zijn namelijk website die andere websites in een i-frame tonen. Het gebruik van een i-frame is vergelijkbaar met embed. Met andere woorden gebruiken zo jouw werk om op hun website te tonen. Ze hoeven er helemaal niets voor te doen. Als zij een belangrijke website hebben met dagelijks veel bezoekers dan kan dit jouw bezoekers kosten. Je bereikt er misschien wel meer mensen mee maar het helpt e niets met je SEO.

Als je wilt voorkomen dat anderen pagina’s van jouw website tonen in een i-frame plaats dan onderstaande code in je .htaccess file.


# Deny access to you website through an i-frame
Header set X-Frame-Options DENY

Blokkeer IP-adressen

Deze is een wat heftiger beveiliging. Je kan op deze manier allerlei IP-adressen blokkeren. Als je bijvoorbeeld vanaf welk IP-adres er steeds geprobeerd wordt om in te loggen op je website dan kan je dat IP-adres met de volgende code blokkeren en je kan je de lijst zo lang maken als je zelf wilt. Wees alleen voorzichtig dat je geen belangrijke bezoekers blokkeert, of andere mensen die je wel toegang tot de website wilt bieden.


# Block by ip-address
<Limit GET POST>
order allow,deny
deny from 190.92.86.118
deny from 199.19.249.196
allow from all
</Limit>

Die regels die beginnen met “deny from” kan je kopiĆ«ren om meer IP-adressen te blokkeren.
Je kan zelfs hele groepen blokkeren daar de laatste nummer te vervangen door een *. Als je bijvoorbeeld 190.92.86.* gebruikt worden de IP-adres van 190.92.86.0 t-m 190.92.86.255 geblokkeerd.

Blokkeer domeinen

Je weet niet altijd van welk IP-adres de spam vandaan komt maar je weet bijvoorbeeld wel van welk domein. Als je dat wel weet dan kan je die domeinen blokkeren met de volgende code.


SetEnvIfNoCase Referer "spammer.com" bad_referer
Order Allow,Deny
Allow from ALL
Deny from env=bad_referer

Vervang “spammer.com” voor het domein dat je wilt blokkeren. Ook hier moet je een beetje voorzichtig mee zijn.

Vraag vrijblijvende een offerte aan.

Offert Aanvragen

Uploads beveiligen

Stel dat het mogelijk is of dat het iemand lukt om iets te uploaden naar de website dan kan je de uploads folder beveiligen. Soms probeert men dit om zo malware te installeren waarmee zij bijvoorbeeld binnen kunnen komen o de website of vanaf je website spam kunnen versturen. Deze code zorgt ervoor dat men dergelijke scripts niet kan uitvoeren na het uploaden.


# Deny script execution of uploads folder WordPress
# BEGIN WordPress uploads code execution protection
<IfModule mod_php5.c>
php_flag engine 0
</IfModule>
<IfModule mod_php7.c>
php_flag engine 0
</IfModule>
<IfModule mod_php.c>
php_flag engine 0
</IfModule>
AddHandler cgi-script .php .phtml .php3 .pl .py .jsp .asp .htm .shtml .sh .cgi
Options -ExecCGI
# END WordPress uploads code execution protection

Deze code moet je in een nieuw document plaatsen en htaccess noemen. Deze moet je via ftp of de file manager uploaden naar /wp-content/uploads. Zorg ervoor dat je de file naam veranderd in .htaccess zonder extensie.

WordPress beveiligen met .htaccess of niet?

Als je bang bent dat je het verkeerd doet of denkt dat je hier te weinig verstand van hebt om dit zelf te doen, vraag dan eerst of iemand het voor je kan doen. En als je echt geen uitweg weet dan kan je een plugin gebruiken maar beste is om dit te voorkomen.

Maak voor je begint eerst eventjes een kopietje van de file. Als er iets fout gaat kan je dan altijd terug naar het origineel.
Let ook op dat de file altijd .htaccess heet en geen extensies als .txt krijgt bijvoorbeeld. Dit zou de website alleen maar onveiliger maken.

Er zijn nog geen reacties. Wees de eerste..!!

Reageer

E-mailadres wordt niet gepubliceerd.
Verplichte velden zijn gemarkeerd met *

*
*
*