15 Användbara .htaccess-utdrag för din WordPress-webbplats
Ha en välkonfigurerad .htaccess-fil är avgörande om du vill öka säkerheten och minska sårbarheter på din WordPress-webbplats. Vanligtvis är huvudmålet att skapa en anpassad .htaccess-fil är att förhindra att din webbplats hackas men det är också ett utmärkt sätt att hantera omdirigeringar och hantera cachemessiga uppgifter.
.htaccess är a konfigurationsfil används på Apache webbservrar. De flesta WordPress-sidor kör på en Apache-server, även om en liten del är drivs av Nginx. I den här artikeln hittar du en insamling av .htaccess kod snippets, de flesta som du kan använda för att säkra din webbplats medan resten implementerar andra användbara funktioner.
Glöm inte att säkerhetskopiera .htaccess-filen innan du redigerar det så att du alltid kan återgå till föregående version om något går fel.
Och om du är någon som helst inte berör konfigurationsfiler rekommenderar jag dig BulletProof Security plugin som är den mest tillförlitliga (och förmodligen den äldsta) gratis .htaccess säkerhets plugin på marknaden.
Skapa standard WP .htaccess
.htaccess fungerar på en per-katalog basis vilket innebär att varje katalog kan ha sin egen .htaccess-fil. Det kan enkelt hända att din WordPress-webbplats har inte en .htaccess-fil än. Om du inte hittar en .htaccess-fil i din rotkatalog skapa en tom textfil och namnge den till .htaccess
.
Nedan hittar du standard .htaccess WordPress använder. När du behöver den här koden kan du snabbt se upp den i WordPress Codex. Observera att det finns en annan .htaccess för WP Multisite.
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^ index \ .php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L] # END WordPress
Linjerna börjar med #
är kommentarer. Ändra inte någonting mellan raderna # BEGIN WordPress
och # END WordPress
. Lägg till dina egna .htaccess-regler under dessa standardregler.
Alla kodsedlar du kan hitta i den här artikeln gå till kärnan .htaccess-filen hittades i din rotkatalog.
1. Avvisa åtkomst till alla .htaccess-filer
Koden nedan nekar åtkomst till alla .htaccess-filer som du har installerat i din WordPress. På så sätt kan du förhindra att människor ser ditt webbserver konfigurationer.
# Avvisar åtkomst till alla .htaccess-filerOrder Tillåt, Förneka Förneka allt från alla tillfredsställa alla
2. Skydda din WP-konfiguration
De wp-config.php
filen innehåller alla dina WP-konfigurationer, inklusive din databas inloggning och lösenord. Du kan antingen neka det från alla eller ge tillstånd till administratörer att få tillgång till den.
Om du väljer den senare kommentera de # Tillåt från xx.xx.xx.xxx
linje (ta bort #
från början av raden) och sätt in adminens IP-adress istället för xx.xx.xx.xxx
.
# Skyddar wp-configOrder Tillåt, neka # Tillåt från xx.xx.xx.xxx # Tillåt från yy.yy.yy.yyy Avvisa från alla
3. Hindra XML-RPC DDoS-attack
Wordpress stöder XML-RPC som standard, vilket är en gränssnitt som gör fjärrpublicering möjlig. Men även om det är en bra funktion är det också en av WP: s största säkerhetsproblem som hackare kan utnyttja den för DDoS-attacker.
Om du inte vill använda den här funktionen är det bättre att bara inaktivera den. Precis som tidigare kan du Lägg till undantag genom att kommentera de # Tillåt från xx.xx.xx.xxx
linje och lägga till IP-adresserna till din administratör (er).
# Skyddar XML-RPC, förhindrar DDoS-attackOrder Avvisa, Tillåt # Tillåt från xx.xx.xx.xxx # Tillåt från yy.yy.yy.yyy Avvisa från alla
4. Skydda ditt administratörsområde
Det är också en bra idé att skydda adminområdet genom att bara ge administratörer åtkomst. Här glöm inte att lägg till minst en “Tillåta” undantag annars kommer du inte att kunna komma åt din administratör alls.
# Skyddar administratörsområde med IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName "WordPress Admin Access Control" AuthType BasicBeställ Förneka, Tillåt Neka från alla Tillåt från xx.xx.xx.xxx Tillåt från yy.yy.yy.yyy
5. Förhindra katalognotering
De flesta WordPress-webbplatser inaktiverar inte katalognotering, vilket innebär att alla kan bläddra i deras mappar och filer, inklusive media uppladdningar och plugin-filer. Det behöver inte sägas att detta är ett stort säkerhetsproblem.
Nedan kan du se hur en Typisk WordPress kataloglista ser ut som.
Lyckligtvis behöver du bara en rad kod för att blockera den här funktionen. Denna kodbit kommer att returnera ett 403 felmeddelande till den som vill komma åt dina kataloger.
# Förhindrar katalognotering Options -Indexes
6. Förhindra användarnamneträkning
Om WP-permalinks är aktiverade är det ganska lätt att räkna upp användarnamn använder författararkivet. De uppenbara användarnamnen (inklusive adminens användarnamn) kan sedan användas i brute force attacks.
Sätt in koden nedan i din .htaccess-fil till förhindra användarnamneträkning.
# Förhindrar användarnamneträkning RewriteCond% QUERY_STRING author = d RewriteRule ^ /? [L, R = 301]
7. Blockera spammare och bots
Ibland kanske du vill begränsa åtkomst från vissa IP-adresser. Det här koden är ett enkelt sätt att blockera spammare och bots som du redan vet.
# Blokkerar spammare och botsBeställ Tillåt, Avvisa Avvisa från xx.xx.xx.xxx Avvisa från yy.yy.yy.yyy Tillåt från alla
8. Förhindra bild hotlinking
Även om det inte är ett säkerhetshot, bild hotlinking är fortfarande en irriterande sak. Människor gör inte bara Använd dina bilder utan ditt tillstånd men de gör det till och med på din kostnad. Med dessa få rader av kod kan du skydda din webbplats från hotlinking av bilder.
# Förhindrar bild hotlinking RewriteEngine på 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. Begränsa direktåtkomst till plugin & theme PHP-filer
Det kan vara farligt om någon Ringer direkt din plugin och temafiler, om det händer av misstag eller av en skadlig angripare. Denna kodbit kommer från Acunetix webbplats säkerhetsföretag; Du kan läsa mer om denna sårbarhet i deras blogginlägg.
# Begränsar åtkomst till PHP-filer från plugin och tematekataloger RewriteCond% REQUEST_URI! ^ / Wp-innehåll / plugins / file / to / exclude \ .php RewriteCond% REQUEST_URI! ^ / Wp-innehåll / plugins / directory / till / exkludera / RewriteRule wp-content / plugins / (. * \ .php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-innehåll / teman / fil / till / utesluta \ .php RewriteCond% REQUEST_URI! ^ / Wp-innehåll / teman / katalog / till / utesluta / RewriteRule wp-innehåll / teman / (. * \ .Php) $ - [R = 404, L]
10. Ställ in permanenta omdirigeringar
Du kan enkelt hantera permanenta omdirigeringar med .htaccess. Först måste du lägga till gammal URL, följ sedan ny URL som pekar på den sida du vill omdirigera användaren till.
# Permanenta omdirigeringar Omdirigering 301 / oldurl1 / http://yoursite.com/newurl1 Omdirigering 301 / oldurl2 / http://yoursite.com/newurl2
11. Skicka besökare till en underhållssida
Vi skrev om denna teknik i detalj här. Du behöver en separat underhållssida (maintenance.html
i exemplet) för denna .htaccess regel att fungera. Den här koden lägger din WordPress-webbplats till underhållsläge.
# Omdirigerar till underhållssidanRewriteEngine på RewriteCond% REMOTE_ADDR! ^ 123 \ .456 \ .789 \ .000 RewriteCond% REQUEST_URI! /Maintenance.html$ [NC] RewriteCond% REQUEST_URI! \. (Jpe? G? | Png | gif ) [NC] RewriteRule. * / Underhåll.html [R = 503, L]
12. Begränsa all åtkomst till WP inkluderar
De / Wp-includes /
mapp innehåller de centrala WordPress-filerna som är nödvändiga för att CMS ska fungera. Det finns inget innehåll, plugins, teman eller något annat som en användare kanske vill komma åt här. Så för att härda säkerheten är det bäst att begränsa all åtkomst till den.
# Blokkerar alla wp-innehåller mappar och filerRewriteEngine On RewriteBase / RewriteRule ^ wp-admin / includes / - [F, L] RewriteRule! ^ Wp-includes / - [S = 3] RewriteRule ^ wp-includes / [^ /] + \ .php $ - [F, L] RewriteRule ^ wp-includes / js / tinymce / längd /.+ \ .php - [F, L] RewriteRule ^ wp-includes / theme -comp / / [F, L]
13. Blockera cross-site scripting (XSS)
Följande kodbit är från WP Mix och det skyddar din webbplats mot några vanliga XSS-attacker, nämligen skriptinjektioner och försök att modifiera globala och begära variabler.
# Blockerar några XSS-attackerRewriteCond% QUERY_STRING (\ |% 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]
14. Aktivera webbläsarens caching
Som jag nämnde tidigare är .htaccess inte bara bra av säkerhetsskäl och omdirigeringar men det kan också hjälpa dig hantera cacheminnet. Kodfragmentet nedan är från Eleganta teman och det gör webbläsarkupning möjlig genom att tillåta besökare att spara vissa typer av filer, så nästa gång de besöker behöver de inte ladda ner dem igen.
# Aktiverar webbläsarens cachingExpiresByType image / png "access 1 år" ExpiresByType text / css "access 1 month" ExpiresByType image / jpg "access 1 år" ExpiresByType image / jpeg "access 1 år" ExpiresByType image / gif " pdf "access 1 month" ExpiresByType text / x-javascript "access 1 month" ExpiresByType program / x-shockwave-flash "access 1 month" ExpiresByType bild / x-ikon "access 1 year" ExpiresDefault "access 2 days"
15. Konfigurera anpassade fel sidor
Du kan använda .htaccess för att ställa in anpassade felsidor på din WordPress-webbplats. För att denna metod ska fungera behöver du också skapa de anpassade felsidorna (custom-403.html
, custom-404.html
i exemplet) och ladda upp dem till din rotmapp.
Du kan ställa in en anpassad fel sida för vilken som helst HTTP-felstatuskod (4XX och 5XX statuskoder) du vill ha.
# Ställer in anpassade felsidor ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html