15 Handige .htaccess-fragmenten voor uw WordPress-site
Een .... hebben goed geconfigureerd .htaccess-bestand is cruciaal als je dat wilt verhoog de beveiliging en verminder kwetsbaarheden op uw WordPress-site. Meestal is het hoofddoel van het maken van een aangepast .htaccess-bestand is om te voorkomen dat uw site wordt gehackt, maar het is ook een uitstekende manier om omleidingen te verwerken en cache-gerelateerde taken te beheren.
.htaccess is a configuratiebestand gebruikt op Apache-webservers. De meeste WordPress-sites uitvoeren op een Apache-server, hoewel een klein deel is mogelijk gemaakt door Nginx. In dit artikel vindt u een verzameling van .htaccess-codefragmenten, waarvan u de meeste kunt gebruiken om uw website te beveiligen terwijl de rest andere nuttige functies implementeert.
Vergeet het niet Maak een back-up van het .htaccess-bestand voordat je het bewerkt, zodat je het altijd kunt doen keer terug naar de vorige versie als er iets misgaat.
En, als u iemand bent die liever geen configuratiebestanden aanraakt, raad ik u het volgende aan BulletProof Security plugin die het meest betrouwbaar is (en waarschijnlijk de oudste) gratis .htaccess-beveiligingsinvoegtoepassing op de markt.
Maak de standaard WP.htaccess
.htaccess werkt op een per directory wat betekent dat elke directory zijn eigen .htaccess-bestand kan hebben. Het kan gemakkelijk gebeuren dat uw WordPress-site heeft nog geen .htaccess-bestand. Als u geen .htaccess-bestand in uw hoofdmap vindt maak een leeg tekstbestand aan en noem het maar .htaccess
.
Hieronder vindt u de standaard .htaccess WordPress gebruikt. Wanneer u deze code nodig heeft, kunt u deze snel opzoeken in de WordPress Codex. Merk op dat er een andere .htaccess is voor WP Multisite.
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^ index \ .php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L] # END WordPress
De regels die beginnen met #
zijn opmerkingen. Bewerk niets tussen de lijnen # BEGIN WordPress
en # END WordPress
. Voeg uw aangepaste .htaccess-regels toe onder deze standaardregels.
Alle codefragmenten die u in dit artikel vindt ga naar het kern .htaccess bestand gevonden in uw hoofdmap.
1. Weigeren toegang tot alle .htaccess-bestanden
De onderstaande code ontzegt de toegang naar alle .htaccess-bestanden die u in uw WordPress hebt geïnstalleerd. Op deze manier kunt u voorkomen dat mensen uw zien webserverconfiguraties.
# Ontkent toegang tot alle .htaccess-bestandenVolgorde toestaan, Weigeren weigeren van allen Voldoe aan iedereen
2. Bescherm uw WP-configuratie
De wp-config.php
bestand bevat al uw WP-configuraties, inclusief uw database login en wachtwoord. Je kunt het van iedereen ontkennen of geef beheerders toestemming om er toegang toe te hebben.
Als je voor het laatste kiest commentaar uit de # Toestaan van xx.xx.xx.xxx
regel (verwijderen #
vanaf het begin van de regel) en voer het IP-adres van de beheerder in in plaats van xx.xx.xx.xxx
.
# Beschermt wp-configVolgorde toestaan, Weigeren # Toestaan van xx.xx.xx.xxx # Toestaan van yy.yy.yy.yyy Weigeren van alles
3. Voorkom XML-RPC DDoS-aanval
WordPress ondersteunt XML-RPC standaard is dat een interface die publiceren op afstand mogelijk maakt mogelijk. Hoewel het een geweldige functie is, is het ook een van WP's grootste beveiligingslekken als hackers misbruiken voor DDoS-aanvallen.
Als je deze functie niet wilt gebruiken, is het beter om gewoon te doen schakel het uit. Net als voorheen, kunt u voeg uitzonderingen toe door uit te zeggen de # Toestaan van xx.xx.xx.xxx
regel en het toevoegen van de IP's van uw beheerder (s).
# Beschermt XML-RPC, voorkomt dat DDoS-aanvallenVolgorde weigeren, Toestaan # Toestaan van xx.xx.xx.xxx # Toestaan van yy.yy.yy.yyy Weigeren van alles
4. Bescherm uw admingebied
Het is ook een goed idee om dit te doen bescherm het admingebied door alleen toegang te geven aan beheerders. Hier, vergeet niet om voeg er tenminste één toe “Toestaan” uitzondering anders heb je helemaal geen toegang tot je beheerder.
# Beschermt admin gebied door IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName "WordPress Admin Access Control" AuthType BasicVolgorde weigeren, Weigeren van toestaan toestaan van xx.xx.xx.xxx Toestaan van yy.yy.yy.yyy
5. Vermijd directory lijst
De meeste WordPress-sites schakelen directory listing niet uit, wat betekent dat iedereen dat kan bladeren door hun mappen en bestanden, inclusief media-uploads en plug-inbestanden. Het is onnodig om te zeggen dat dit een enorm beveiligingsprobleem is.
Hieronder ziet u hoe a typische WordPress directory lijst ziet eruit als.
Gelukkig heb je alleen nodig een regel code om deze functie te blokkeren. Dit codefragment zal stuur een 403 foutmelding terug voor iedereen die toegang wil tot uw mappen.
# Voorkomt directory lijst Opties -Indexen
6. Voorkomen dat de opsomming van de gebruikersnaam voorkomt
Als WP-permalinks zijn ingeschakeld, is dat vrij eenvoudig een opsomming van gebruikersnamen het gebruik van de auteursarchieven. De geopenbaarde gebruikersnamen (inclusief de gebruikersnaam van de beheerder) kunnen dan worden gebruikt in brute kracht aanvallen.
Voer de onderstaande code in uw .htaccess-bestand in de opsomming van de gebruikersnaam voorkomen.
# Voorkomt opsomming van de gebruikersnaam RewriteCond% QUERY_STRING author = d RewriteRule ^ /? [L, R = 301]
7. Blokkeer spammers en bots
Soms wilt u dat misschien Beperk toegang vanaf bepaalde IP-adressen. Dit codefragment biedt een eenvoudige manier om spammers en bots die u al kent te blokkeren.
# Blokkeert spammers en botsVolgorde toestaan, Weigeren weigeren van xx.xx.xx.xxx Weigeren van yy.yy.yy.yyy Toestaan van iedereen
8. Voorkom afbeelding-hotlinking
Hoewel dit geen beveiligingsrisico is, afbeelding hotlinken is nog steeds een vervelend iets. Mensen doen dat niet alleen gebruik uw afbeeldingen zonder uw toestemming maar ze doen het zelfs op uw kosten. Met deze paar regels code kunt u uw site beschermen tegen hotlinking van afbeeldingen.
# Voorkomt afbeelding hotlinking RewriteEngine op RewriteCond% HTTP_REFERER! ^ $ RewriteCond% HTTP_REFERER! ^ Http (s)?: // (www \.)? Yourwebsite.com [NC] RewriteCond% HTTP_REFERER! ^ Http ( s)?: // (www \.)? yourwebsite2.com [NC] RewriteRule \. (jpe? g? | png | gif | ico | pdf | flv | swf | gz) $ - [NC, F, L]
9. Beperk directe toegang tot PHP-bestanden voor plug-ins en thema's
Het kan gevaarlijk zijn als iemand belt direct uw plug-in en themabestanden, of het per ongeluk gebeurt of door een kwaadwillende aanvaller. Dit codefragment komt van het Acunetix-websitebeveiligingsbedrijf; je kunt meer over dit beveiligingslek lezen in hun blogpost.
# Beperkt de toegang tot PHP-bestanden van plug-in en themamappen RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / file / to / exclude \ .php RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / directory / to / exclude / RewriteRule wp-content / plugins / (. * \. php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-content / themes / file / to / exclude \ .php RewriteCond% REQUEST_URI! ^ / Wp-content / themes / directory / to / exclude / RewriteRule wp-content / themes / (. * \. Php) $ - [R = 404, L]
10. Stel permanente omleidingen in
Dat kun je gemakkelijk doen omgaan met permanente omleidingen met .htaccess. Eerst moet je het toevoegen oude URL, volg dan de nieuwe URL die verwijst naar de pagina waarnaar u de gebruiker wilt doorsturen.
# Permanente omleidingen Omleiden 301 / oldurl1 / http://yoursite.com/newurl1 Doorverwijzing 301 / oldurl2 / http://yoursite.com/newurl2
11. Stuur bezoekers naar een onderhoudspagina
We schreven over deze techniek hier in detail. Je hebt een nodig aparte onderhoudspagina (maintenance.html
in het voorbeeld) om deze .htaccess-regel te laten werken. Deze code plaatst uw WordPress-site in onderhoudsmodus.
# Omleidingen naar onderhoudspaginaRewriteEngine on RewriteCond% REMOTE_ADDR! ^ 123 \ .456 \ .789 \ .000 RewriteCond% REQUEST_URI! /Maintenance.html$ [NC] RewriteCond% REQUEST_URI! \. (Jpe? G? | Png | gif ) [NC] RewriteRule. * /Maintenance.html [R = 503, L]
12. Beperk alle toegang tot WP omvat
De / Wp-includes /
map bevat de kern WordPress-bestanden die nodig zijn om het CMS te laten werken. Er zijn geen inhoud, plug-ins, thema's of iets anders waar een gebruiker hier toegang toe wil hebben. Dus om de veiligheid te verbeteren, is het het beste om dat te doen beperk alle toegang tot het.
# Blokkeert alle wp-bevat mappen en bestandenRewriteEngine On RewriteBase / RewriteRule ^ wp-admin / includes / - [F, L] RewriteRule! ^ Wp-includes / - [S = 3] RewriteRule ^ wp-includes / [^ /] + \. Php $ - [F, L] RewriteRule ^ wp-includes / js / tinymce / langs /.+ \. Php - [F, L] RewriteRule ^ wp-includes / theme-compat / - [F, L]
13. Cross-site scripting (XSS) blokkeren
Het volgende codefragment komt van WP Mix en beschermt uw site tegen enkele veelvoorkomende XSS-aanvallen, namelijk scriptinjecties en pogingen om globale en verzoekvariabelen te wijzigen.
# Blokkeert enkele XSS-aanvallenRewriteCond% QUERY_STRING (\ |% 3E) [NC, OF] RewriteCond% QUERY_STRING GLOBALS (= | \ [| \% [0-9A-Z] 0,2) [OF] RewriteCond% QUERY_STRING _REQUEST (= | \ [| \% [0-9A-Z] 0,2) RewriteRule. * Index.php [F, L]
14. Schakel browsercaching in
Zoals ik eerder al zei, is .htaccess niet alleen goed voor veiligheidsredenen en omleidingen, maar het kan u ook helpen beheer de cache. Het onderstaande codefragment is van Elegant Themes en het maakt browsercaching mogelijk door bezoekers in staat te stellen bewaar bepaalde soorten bestanden, dus de volgende keer dat ze ze bezoeken hoeven ze ze niet opnieuw te downloaden.
# Schakelt browsercaching inVerlooptActive On ExpiresByType image / jpg "toegang 1 jaar" ExpiresByType image / jpeg "toegang 1 jaar" ExpiresByType image / gif "toegang 1 jaar" ExpiresByType image / png "toegang 1 jaar" ExpiresByType text / css "toegang 1 maand" ExpiresByType application / pdf "toegang 1 maand" ExpiresByType text / x-javascript "toegang 1 maand" ExpiresByType application / x-shockwave-flash "toegang 1 maand" ExpiresByType image / x-icon "toegang 1 jaar" ExpiresDefault "toegang 2 dagen"
15. Stel aangepaste foutpagina's in
U kunt .htaccess gebruiken om aangepaste foutpagina's in te stellen op uw WordPress-site. Om deze methode te laten werken, moet je ook maak de aangepaste foutpagina's (custom-403.html
, custom-404.html
in het voorbeeld) en upload ze naar je hoofdmap.
U kunt een aangepaste foutpagina instellen voor elke HTTP-foutstatuscode (4XX en 5XX statuscodes) die u wenst.
# Stelt aangepaste foutpagina's in ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html