15 Nyttige .htaccess-utdrag for ditt WordPress-nettsted
Har en godt konfigurert .htaccess-fil er viktig hvis du vil øke sikkerheten og reduser sårbarheter på WordPress-siden din. Vanligvis er hovedmålet med å skape en egendefinert .htaccess-fil er å hindre at nettstedet ditt blir hacket, men det er også en utmerket måte å håndtere omdirigeringer og administrere cache-relaterte oppgaver.
.htaccess er a konfigurasjonsfil brukes på Apache webservere. De fleste WordPress-nettsteder Kjør på en Apache-server, selv om en liten del er drevet av Nginx. I denne artikkelen finner du en samling av .htaccess kodeutdrag, De fleste av dem kan du bruke til å sikre nettstedet ditt mens resten implementerer andre nyttige funksjoner.
Ikke glem å sikkerhetskopiere .htaccess-filen før du redigerer det slik at du alltid kan gå tilbake til forrige versjon hvis noe går galt.
Og hvis du er noen som heller ikke berører konfigurasjonsfiler, anbefaler jeg deg BulletProof Security plugin som er den mest pålitelige (og sannsynligvis den eldste) gratis .htaccess-sikkerhetstillegg på markedet.
Opprett standard WP .htaccess
.htaccess fungerer på en per-katalog basis som betyr at hver katalog kan ha sin egen .htaccess-fil. Det kan enkelt skje at ditt WordPress-nettsted har ikke en .htaccess-fil enda. Hvis du ikke finner en .htaccess-fil i rotkatalogen din lag en tom tekstfil og navnet på det .htaccess
.
Nedenfor finner du standard .htaccess WordPress bruker. Når du trenger denne koden, kan du raskt se den opp i WordPress Codex. Legg merke til at det finnes en annen .htaccess for WP Multisite.
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^ index \ .php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L] # END WordPress
Linjene som begynner med #
er kommentarer. Ikke rediger noe mellom linjene # BEGIN WordPress
og # END WordPress
. Legg til dine egendefinerte .htaccess-regler under disse standardreglene.
Alle kodestykker du finner i denne artikkelen gå til kjernen .htaccess-filen funnet i rotkatalogen din.
1. Nekt tilgang til alle .htaccess-filer
Koden nedenfor nekter tilgang til alle .htaccess-filer du har installert i WordPress. På denne måten kan du forhindre folk i å se din webserver konfigurasjoner.
# Avviser tilgang til alle .htaccess-filerOrdre Tillat, nekt Deny fra alle tilfredsstille alle
2. Beskytt WP-konfigurasjonen
De wp-config.php
filen inneholder alle WP-konfigurasjonene dine, inkludert databasens innlogging og passord. Du kan enten nekte det fra alle eller gi tillatelse til admins å få tilgang til den.
Hvis du velger sistnevnte kommentere ut de # Tillat fra xx.xx.xx.xxx
linje (fjern #
fra begynnelsen av linjen) og sett inn administrasjonens IP-adresse i stedet for xx.xx.xx.xxx
.
# Beskytter wp-configOrdre Tillat, nekt # Tillat fra xx.xx.xx.xxx # Tillat fra yy.yy.yy.yyy Avvis fra alle
3. Forhindre XML-RPC DDoS-angrep
WordPress støtter XML-RPC som standard, som er en grensesnitt som gjør fjern publisering mulig. Men mens det er en flott funksjon, er det også et av WPs største sikkerhetsproblem som hackere kan utnytte den til DDoS-angrep.
Hvis du ikke vil bruke denne funksjonen, er det bedre å bare deaktiver den. Akkurat som før, kan du Legg til unntak ved å kommentere de # Tillat fra xx.xx.xx.xxx
linje og legge til IP-adressene til administratoren din.
# Beskytter XML-RPC, forhindrer DDoS-angrepOrdre Avvis, Tillat # Tillat fra xx.xx.xx.xxx # Tillat fra yy.yy.yy.yyy Avvis fra alle
4. Beskytt admin-området ditt
Det er også en god ide å beskytte administrasjonsområdet ved å gi tilgang til bare administratorer. Her, ikke glem å legg til minst en “Tillate” unntak ellers vil du ikke kunne få tilgang til administratoren din i det hele tatt.
# Beskytter admin-området etter IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName "WordPress Admin Access Control" AuthType BasicOrdre nekt, Tillat nekte fra alle Tillat fra xx.xx.xx.xxx Tillat fra yy.yy.yy.yyy
5. Forhindre katalogoppføring
De fleste WordPress-nettsteder deaktiverer ikke katalogoppføring, noe som betyr at alle kan bla gjennom mappene og filene, inkludert mediaopplastinger og pluginfiler. Det er unødvendig å si at dette er et stort sikkerhetsproblem.
Nedenfor kan du se hvordan en Typisk WordPress katalogoppføring ser ut som.
Heldigvis trenger du bare en linje med kode for å blokkere denne funksjonen. Denne kodestykket vil returner en 403 feilmelding til alle som ønsker å få tilgang til katalogene dine.
# Forhindrer katalogoppføring Alternativer -Indekser
6. Forhindre brukernes opptelling
Hvis WP-permalink er aktivert, er det ganske enkelt å oppgi brukernavn bruker forfatterarkivene. De avslørte brukernavnene (inkludert adminens brukernavn) kan deretter brukes i brute force attacks.
Sett inn koden nedenfor i .htaccess-filen din til forhindre brukernavn opptelling.
# Forhindrer brukernavntelling RewriteCond% QUERY_STRING author = d RewriteRule ^ /? [L, R = 301]
7. Blokker spammere og bots
Noen ganger kan det være lurt å begrense tilgang fra bestemte IP-adresser. Denne kodestykket gir en enkel måte å blokkere spammere og roboter du allerede kjenner.
# Blokkerer spammere og botsBestil Tillat, nekt Deny fra xx.xx.xx.xxx Avvis fra yy.yy.yy.yyy Tillat fra alle
8. Forhindre bildelinkering
Selv om det ikke er en sikkerhetsrisiko, bilde hotlinking er fortsatt en irriterende ting. Folk gjør ikke bare bruk bildene dine uten din tillatelse men de gjør det selv til din pris. Med disse få kodelinjene kan du beskytte nettstedet ditt mot bildelinkering.
# Forhindrer bildelinkering RewriteEngine på RewriteCond% HTTP_REFERER! ^ $ RewriteCond% HTTP_REFERER! ^ Http (s)?: // (www \.)? Yourwebsite.com [NC] RewriteCond% HTTP_REFERER! ^ Http s)?: // (www \.)? yourwebsite2.com [NC] RewriteRule \. (jp? g? | png | gif | ico | pdf | flv | swf | gz) $ - [NC, F, L]
9. Begrens direkte tilgang til plugin og tema PHP-filer
Det kan være farlig hvis noen Ringer direkte ditt plugin og tema filer, om det skjer ved et uhell eller av en ondsinnet angriper. Denne kodestykket kommer fra Acunetix nettside sikkerhetsselskap; Du kan lese mer om dette sikkerhetsproblemet i deres blogginnlegg.
# Begrenser tilgang til PHP-filer fra plugin og tema kataloger RewriteCond% REQUEST_URI! ^ / Wp-innhold / plugins / file / to / exclude \ .php RewriteCond% REQUEST_URI! ^ / Wp-innhold / plugins / directory / til / ekskluder / RewriteRule wp-innhold / plugins / (. * \. php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-innhold / temaer / file / to / exclude \ .php RewriteCond% REQUEST_URI! ^ / Wp-innhold / temaer / katalog / til / utelukke / RewriteRule wp-innhold / temaer / (. * \. Php) $ - [R = 404, L]
10. Konfigurer permanent omdirigeringer
Du kan enkelt håndter permanent omdirigeringer med .htaccess. Først må du legge til gammel nettadresse, følg deretter ny nettadresse som peker til siden du vil omdirigere brukeren til.
# Permanente omadresser Omadressering 301 / oldurl1 / http://yoursite.com/newurl1 Omdirigering 301 / oldurl2 / http://yoursite.com/newurl2
11. Send besøkende til en vedlikeholdsside
Vi skrev om denne teknikken i detalj her. Du trenger en separat vedlikeholdsside (maintenance.html
i eksemplet) for denne .htaccess-regelen for å fungere. Denne koden setter ditt WordPress-nettsted inn i vedlikeholdsmodus.
# Omadresserer til vedlikeholdssidenRewriteEngine på RewriteCond% REMOTE_ADDR! ^ 123 \ .456 \ .789 \ .000 RewriteCond% REQUEST_URI! /Maintenance.html$ [NC] RewriteCond% REQUEST_URI! \. (Jpe? G? | Png | gif ) [NC] RewriteRule. * / Vedlikehold.html [R = 503, L]
12. Begrens all tilgang til WP inkluderer
De / Wp-includes /
mappe inneholder kjernen WordPress-filer som er nødvendige for at CMS skal fungere. Det er ikke noe innhold, plugins, temaer eller noe annet en bruker vil ha tilgang til her. Så å herde sikkerhet er det best å begrens all tilgang til den.
# Blokkerer alle wp-inkluderer mapper og filerRewriteEngine On RewriteBase / RewriteRule ^ wp-admin / includes / - [F, L] RewriteRule! ^ Wp-includes / - [S = 3] RewriteRule ^ wp-inkluderer / [^ /] + \. Php $ - [F, L] RewriteRule ^ wp-includes / js / tinymce / langs /.+ \ .php - [F, L] RewriteRule ^ wp-includes / theme-comp / / [F, L]
13. Blokker cross-site scripting (XSS)
Følgende kodebit er fra WP Mix, og det beskytter nettstedet mot Noen vanlige XSS-angrep, nemlig skriptinjeksjoner og forsøk på å modifisere globale og forespørselsvariabler.
# Blokkerer noen XSS-angrepRewriteCond% 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. Aktiver nettleservakking
Som jeg nevnte tidligere, er .htaccess ikke bare bra av sikkerhetsgrunner og omdirigeringer, men det kan også hjelpe deg administrer hurtigbufferen. Kodestykket nedenfor er fra Elegante temaer og det gjør nettleservakking mulig ved å tillate besøkende til lagre visse typer filer, så neste gang de besøker de ikke trenger å laste dem ned igjen.
# Aktiverer nettleservakkingExpiresByType image / gif "tilgang 1 år" ExpiresByType image / png "tilgang 1 år" ExpiresByType text / css "tilgang 1 måned" ExpiresByType program / jpg "tilgang 1 år" ExpiresByType image / jpeg " pdf "tilgang 1 måned" ExpiresByType tekst / x-javascript "tilgang 1 måned" ExpiresByType program / x-shockwave-flash "tilgang 1 måned" ExpiresByType image / x-icon "tilgang 1 år" ExpiresDefault "tilgang 2 dager"
15. Konfigurer tilpassede feil sider
Du kan bruke .htaccess til å konfigurere egendefinerte feil sider på WordPress-siden din. For denne metoden å jobbe, må du også opprett egendefinerte feil sider (custom-403.html
, custom-404.html
i eksemplet) og last opp dem til rotmappen din.
Du kan konfigurere en tilpasset feilside for hvilken som helst HTTP-feilstatuskode (4XX og 5XX statuskoder) du vil ha.
# Setter opp tilpassede feilsider ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html