15 Handige .htaccess-fragmenten voor uw WordPress-site
Een goed geconfigureerd .htaccess-bestand is cruciaal als u de beveiliging wilt verhogen en de kwetsbaarheden op uw WordPress-site wilt verminderen . Meestal is het belangrijkste doel van het maken van een aangepast .htaccess-bestand om te voorkomen dat uw site wordt gehackt, maar het is ook een uitstekende manier om omleidingen te verwerken en cachetaken te beheren.
.htaccess is een configuratiebestand dat wordt gebruikt op Apache-webservers. De meeste WordPress-sites draaien op een Apache-server, hoewel een klein deel wordt aangedreven door Nginx . In dit artikel vindt u een verzameling .htaccess-codefragmenten, waarvan de meeste u kunt gebruiken om uw website te beveiligen terwijl de rest andere nuttige functies implementeert.
Vergeet niet om een back-up van het .htaccess-bestand te maken voordat u het bewerkt, zodat u altijd naar de vorige versie kunt terugkeren als er iets misgaat.
En, als u iemand bent die liever geen configuratiebestanden aanraakt, raad ik u de BulletProof Security- plug-in aan, die de meest betrouwbare (en waarschijnlijk de oudste) gratis .htaccess-beveiligingsinvoegtoepassing op de markt is.
Maak de standaard WP.htaccess
.htaccess werkt per map, wat betekent dat elke map zijn eigen .htaccess-bestand kan hebben. Het kan gemakkelijk gebeuren dat uw WordPress-site nog geen .htaccess-bestand heeft . Als u geen .htaccess-bestand in uw hoofdmap vindt, maakt u een leeg tekstbestand en geeft u dit de naam aan .htaccess
.
Hieronder vindt u de standaard .htaccess- WordPress-toepassingen. 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 met #
zijn opmerkingen. Bewerk niets tussen de regels # BEGIN WordPress
en # END WordPress
. Voeg uw aangepaste .htaccess-regels toe onder deze standaardregels .
Alle codefragmenten die u in dit artikel kunt vinden, gaan naar het kern .htaccess-bestand dat u in uw hoofdmap vindt.
1. Toegang weigeren tot alle .htaccess-bestanden
De onderstaande code ontzegt de toegang tot alle .htaccess-bestanden die u in uw WordPress hebt geïnstalleerd. Op deze manier kunt u voorkomen dat mensen uw webserverconfiguraties te zien krijgen .
# Ontkent toegang tot alle .htaccess-bestandenVolgorde toestaan, Weigeren weigeren van allen Bevredig alles
2. Bescherm uw WP-configuratie
Het wp-config.php
bevat al uw WP-configuraties, inclusief uw aanmeldingsnaam en wachtwoord voor de database. Je kunt het van iedereen ontkennen of beheerders toestemming geven om toegang te krijgen .
Als u de laatste opmerking uit de regel # Allow from xx.xx.xx.xxx
kiest (verwijder #
aan het begin van de regel) en plaats het IP-adres van de beheerder 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 aanval van XML-RPC DDoS
WordPress ondersteunt standaard XML-RPC, een interface die publiceren op afstand mogelijk maakt. Hoewel het een geweldige functie is, is het ook een van WP's grootste beveiligingslek omdat hackers het kunnen misbruiken voor DDoS-aanvallen .
Als u deze functie niet wilt gebruiken, is het beter om hem gewoon uit te schakelen . Net als eerder kunt u uitzonderingen toevoegen door de regel # Allow from xx.xx.xx.xxx
en de IP's van uw beheerder (s) toe te voegen.
# 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 het beheerdersgedeelte te beschermen door alleen toegang te geven aan beheerders. Vergeet hier niet om minstens één "Allow" -uitzondering toe te voegen, anders heb je helemaal geen toegang tot je admin.
# Beschermt admin gebied door IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName "WordPress Admin Access Control" AuthType BasicVolgorde weigeren, Weigeren van alle toestaan van xx.xx.xx.xxx toestaan van yy.yy.yy.yyy toestaan
5. Vermijd directorylijst
De meeste WordPress-sites schakelen de lijst met mappen niet uit, wat betekent dat iedereen door hun mappen en bestanden kan bladeren, inclusief uploads van media en plug-inbestanden. Het is onnodig om te zeggen dat dit een enorm beveiligingsprobleem is.
Hieronder kunt u zien hoe een typische WordPress-directorylijst eruitziet .
Gelukkig hebt u slechts één regel code nodig om deze functie te blokkeren. Dit codefragment zal een 403-foutmelding geven aan iedereen die toegang wil krijgen tot uw mappen.# Voorkomt directoryvermelding Opties -Indexen
6. Voorkomen dat de opsomming van de gebruikersnaam voorkomt
Als WP-permalinks zijn ingeschakeld, is het vrij eenvoudig om gebruikersnamen op te sommen met behulp van de auteursarchieven. De geopenbaarde gebruikersnamen (inclusief de gebruikersnaam van de beheerder) kunnen vervolgens worden gebruikt bij brute force-aanvallen .
Voer de onderstaande code in uw .htaccess-bestand in om opsomming van de gebruikersnaam te voorkomen .
# Voorkomt opsomming van de gebruikersnaam RewriteCond% {QUERY_STRING} author = d RewriteRule ^ /? [L, R = 301]
7. Blokkeer spammers en bots
Soms wilt u misschien de toegang beperken 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 hotlinking van afbeeldingen
Hoewel dit geen beveiligingsrisico is, is hotlinking van afbeeldingen nog steeds vervelend. Mensen gebruiken uw afbeeldingen niet alleen 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 je plug-in en themabestanden direct oproept, of het nu per ongeluk gebeurt of door een kwaadwillende aanvaller. Dit codefragment is afkomstig van het Acunetix-bedrijf voor websitebeveiliging ; je kunt meer over dit beveiligingslek lezen in hun blogpost.
# Beperkt de toegang tot PHP-bestanden vanuit 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
Je kunt gemakkelijk permanente omleidingen verwerken met .htaccess. Eerst moet u de oude URL toevoegen en vervolgens de nieuwe URL volgen 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. U hebt een aparte onderhoudspagina ( maintenance.html
in het voorbeeld) nodig om deze .htaccess-regel te laten werken. Met deze code wordt uw WordPress-site in de onderhoudsmodus geplaatst .
# 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 inclusief
De map /wp-includes/
bevat de belangrijkste WordPress-bestanden die nodig zijn om de 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 beveiliging te verbeteren, is het het beste om alle toegang ertoe te beperken .
# 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 de cache te beheren . Het codefragment hieronder is van Elegant Themes en het maakt browsercaching mogelijk door bezoekers in staat te stellen bepaalde soorten bestanden op te slaan, dus de volgende keer dat ze ze bezoeken hoeven ze deze 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 u ook de aangepaste foutpagina's maken ( custom-403.html
, custom-404.html
in het voorbeeld) en deze uploaden naar uw hoofdmap.
U kunt een aangepaste foutpagina instellen voor elke gewenste HTTP-foutstatuscode (4XX en 5XX-statuscodes).
# Stelt aangepaste foutpagina's in ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html
Verklein en optimaliseer elke afbeeldingindeling naar JPG Online met Jpeg.io
Met de gratis tool Jpeg.io kan iedereen zijn bestaande afbeeldingen converteren naar geoptimaliseerde JPEG-bestanden zonder enige software . U uploadt eenvoudig uw afbeeldingen en de website doet alles voor u op de backend.U kunt de broncode niet zien, maar de optimalisatie wordt mogelijk gemaakt door Kraken
Facebook test een nieuwe functie "Find Wi-Fi" in zijn iOS-app
Het vinden van een openbare Wi-Fi-hotspot is misschien geen grote uitdaging meer omdat Facebook is begonnen met het testen van een nieuwe functie "Find Wi-Fi" in de iOS Facebook-app.Voor het eerst opgemerkt door Matt Navarra, de sociale media-manager van The Next Web, detecteert deze functie plaatsen in de buurt met Wi-Fi-hotspots