15 Nyttige .htaccess-uddrag til dit WordPress-websted
Have en velkonfigureret .htaccess-fil er afgørende, hvis du vil øge sikkerheden og reducere sårbarheder på dit WordPress-websted. Normalt er hovedmålet med at skabe en brugerdefineret .htaccess-fil er at forhindre, at dit websted bliver hacket, men det er også en glimrende måde at håndtere omdirigeringer og administrere cache-relaterede opgaver.
.htaccess er a konfigurationsfilen bruges på Apache webservere. De fleste WordPress-websteder køre på en Apache server, selvom en lille del er drevet af Nginx. I denne artikel kan du finde en indsamling af .htaccess kodeuddrag, hvoraf de fleste kan bruges til at sikre dit websted, mens resten implementerer andre nyttige funktioner.
Glem ikke at sikkerhedskopiere .htaccess-filen før du redigerer det, så du altid kan vende tilbage til den forrige version hvis noget går galt.
Og hvis du er en person, der helst ikke rører konfigurationsfiler, anbefaler jeg dig BulletProof Security plugin, som er den mest pålidelige (og nok den ældste) gratis .htaccess sikkerhed plugin på markedet.
Opret standard WP .htaccess
.htaccess virker på en per-bibliotek basis hvilket betyder at hver mappe kan have sin egen .htaccess-fil. Det kan nemt ske, at dit WordPress-websted har ikke en .htaccess-fil endnu. Hvis du ikke finder en .htaccess-fil i din rodmappe Opret en tom tekstfil og navngiv det til .htaccess
.
Nedenfor kan du finde standard .htaccess WordPress bruger. Når du har brug for denne kode, kan du hurtigt se det op i WordPress Codex. Bemærk, at der er en anden .htaccess til WP Multisite.
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^ indeks \ .php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L] # END WordPress
Linjerne begynder med #
er kommentarer. Ikke rediger noget mellem linjerne # BEGIN WordPress
og # END WordPress
. Tilføj dine tilpassede .htaccess regler under disse standardregler.
Alle kodestykker, du kan finde i denne artikel Gå til kernen .htaccess-filen fundet i din rodmappe.
1. Afvis adgang til alle .htaccess-filer
Koden nedenfor nægter adgang til alle .htaccess-filer, du har installeret i din WordPress. På denne måde kan du forhindre folk i at se din webserver konfigurationer.
# Afviser adgang til alle .htaccess-filerOrdre Tillad, nægter at nægte alt tilfredsstil alle
2. Beskyt din WP-konfiguration
Det wp-config.php
filen indeholder alle dine WP-konfigurationer, herunder din database login og adgangskode. Du kan enten benægte det fra alle eller give tilladelse til admins adgang til det.
Hvis du vælger sidstnævnte kommentere det # Tillad fra xx.xx.xx.xxx
linje (fjern #
fra begyndelsen af linjen) og Indsæt administratorens IP-adresse i stedet for xx.xx.xx.xxx
.
# Beskytter wp-configBestil Tillad, Afvis # Tillad fra xx.xx.xx.xxx # Tillad fra yy.yy.yy.yyy Afvis fra alle
3. Forhindre XML-RPC DDoS-angreb
WordPress understøtter XML-RPC som standard, hvilket er en interface, der gør fjernforlag muligt. Men selvom det er en fantastisk funktion, er det også en af WPs største sikkerhedsproblemer, som hackere måtte udnytte den til DDoS-angreb.
Hvis du ikke vil bruge denne funktion, er det bedre at bare deaktiver den. Ligesom før kan du Tilføj undtagelser ved at kommentere det # Tillad fra xx.xx.xx.xxx
linje og tilføje IP'erne til din administrator (e).
# Beskytter XML-RPC, forhindrer DDoS-angrebOrdre Afvis, Tillad # Tillad fra xx.xx.xx.xxx # Tillad fra yy.yy.yy.yyy Afvis fra alle
4. Beskyt dit administrationsområde
Det er også en god idé at beskyt admin området ved kun at give adgang til administratorer. Glem det ikke her Tilføj mindst en “Give lov til” undtagelse ellers vil du ikke kunne få adgang til din administrator overhovedet.
# Beskytter admin område ved IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName "WordPress Admin Access Control" AuthType BasicOrdre Afvis, Tillad nægt fra alle Tillad fra xx.xx.xx.xxx Tillad fra yy.yy.yy.yyy
5. Undgå katalogfortegnelse
De fleste WordPress-websteder deaktiverer ikke mappeliste, hvilket betyder, at alle kan gennemse deres mapper og filer, herunder media uploads og plugin filer. Det er unødvendigt at sige, at dette er en enorm sikkerhedssårbarhed.
Nedenfor kan du se, hvordan en Typisk WordPress katalog notering ligner.
Heldigvis behøver du bare en linje med kode for at blokere denne funktion. Denne kodestykke vil returner en 403 fejlmeddelelse til alle, der ønsker at få adgang til dine mapper.
# Forhindrer katalogoptagelse Options -Indexes
6. Forhindre brugernavn opregning
Hvis WP-permalinks er aktiveret, er det ret nemt at opregne brugernavne ved hjælp af forfatterarkiverne. De afslørede brugernavne (herunder adminens brugernavn) kan derefter bruges i brute force attacks.
Indsæt koden nedenfor i din .htaccess-fil til forhindre brugernavn opregning.
# Forhindrer brugernavnetælling RewriteCond% QUERY_STRING author = d RewriteRule ^ /? [L, R = 301]
7. Bloker spammere og bots
Nogle gange vil du måske Begræns adgang fra bestemte IP-adresser. Denne kodestykke giver en nem måde at blokere for spammere og robotter du allerede kender.
# Blokerer spammere og botsBestil Tillad, Afvis nægt fra xx.xx.xx.xxx Afvis fra yy.yy.yy.yyy Tillad fra alle
8. Forhindre billed hotlinking
Selvom det ikke er en sikkerhedstrussel, image hotlinking er stadig en irriterende ting. Folk gør ikke kun Brug dine billeder uden din tilladelse men de gør det endda til din pris. Med disse få linjer kode kan du beskytte dit websted mod billedkobling.
# Forhindrer billed hotlinking RewriteEngine på RewriteCond% HTTP_REFERER! ^ $ RewriteCond% HTTP_REFERER! ^ Http (s)?: // (www \.)? Dinwebsite.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. Begræns direkte adgang til plugin og tema PHP-filer
Det kan være farligt, hvis nogen kalder direkte dit plugin og tema filer, om det sker ved et uheld eller ved en ondsindet angriber. Denne kodestykke kommer fra Acunetix website sikkerhed selskab; Du kan læse mere om denne sårbarhed i deres blogindlæg.
# Begrænser adgangen til PHP-filer fra plugin og tematmapper RewriteCond% REQUEST_URI! ^ / Wp-indhold / plugins / file / to / exclude \ .php RewriteCond% REQUEST_URI! ^ / Wp-indhold / plugins / directory / til / ekskluder / RewriteRule wp-indhold / plugins / (. * \ .php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-indhold / temaer / fil / til / ekskluder \ .php RewriteCond% REQUEST_URI! ^ / Wp-indhold / temaer / bibliotek / til / ekskluder / RewriteRule wp-indhold / temaer / (. * \. Php) $ - [R = 404, L]
10. Opret permanent omdirigeringer
Du kan nemt håndtere permanente omdirigeringer med .htaccess. Først skal du tilføje gammel URL, følg derefter ny webadresse der peger på den side, du vil omdirigere brugeren til.
# Permanente omdirigeringer Omdirigering 301 / oldurl1 / http://yoursite.com/newurl1 Omdirigering 301 / oldurl2 / http://yoursite.com/newurl2
11. Send besøgende til en vedligeholdelsesside
Vi skrev om denne teknik i detaljer her. Du har brug for en separat vedligeholdelsesside (maintenance.html
i eksemplet) for denne .htaccess regel til arbejde. Denne kode sætter dit WordPress-websted i vedligeholdelsestilstand.
# Omdirigerer til vedligeholdelsessidenRewriteEngine på 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. Begrænse al adgang til WP inkluderer
Det / Wp-includes /
folder indeholder de centrale WordPress-filer der er nødvendige for, at CMS skal arbejde. Der er intet indhold, plugins, temaer eller andet, som en bruger måske vil have adgang til her. Så for at hærde sikkerhed er det bedst at begrænse al adgang til den.
# Blokerer alle wp-indeholder mapper og filerRewriteEngine On RewriteBase / RewriteRule ^ wp-admin / inkluderer / - [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. Bloker cross script scripting (XSS)
Følgende kodestykke er fra WP Mix og det beskytter dit websted mod nogle almindelige XSS-angreb, nemlig scriptinjektioner og forsøg på at ændre globale og anmodningsvariabler.
# Blokerer nogle XSS-angrebRewriteCond% 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. Aktivér browser caching
Som jeg nævnte tidligere, er .htaccess ikke kun godt af sikkerhedsmæssige grunde og omdirigeringer, men det kan også hjælpe dig Administrer cachen. Kodestykket nedenfor er fra Elegante temaer og det gør browser caching mulig ved at give besøgende mulighed for gem visse typer filer, så næste gang de besøger, behøver de ikke at downloade dem igen.
# Aktiverer browser cachingExpiresActive On ExpiresByType image / jpg "adgang 1 år" ExpiresByType image / jpeg "adgang 1 år" ExpiresByType image / gif "adgang 1 år" ExpiresByType image / png "adgang 1 år" ExpiresByType text / css "adgang 1 måned" ExpiresByType applikation / pdf "adgang 1 måned" ExpiresByType tekst / x-javascript "adgang 1 måned" ExpiresByType program / x-shockwave-flash "adgang 1 måned" ExpiresByType image / x-icon "adgang 1 år" ExpiresDefault "adgang 2 dage"
15. Opsæt tilpassede fejlsider
Du kan bruge .htaccess til at konfigurere brugerdefinerede fejlsider på dit WordPress-websted. For at denne metode skal fungere, skal du også Opret de brugerdefinerede fejlsider (custom-403.html
, custom-404.html
i eksemplet) og upload dem til din rodmappe.
Du kan oprette en brugerdefineret fejlside til enhver HTTP-fejlstatuskode (4XX og 5XX statuskoder), du vil have.
# Indstiller tilpassede fejlsider ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html