15 Fragmente utile .htaccess pentru site-ul dvs. WordPress
Având un fișierul .htaccess bine configurat este crucial dacă doriți creșterea siguranței și reduce vulnerabilitățile pe site-ul dvs. WordPress. De obicei, obiectivul principal de a crea un fișier personalizat .htaccess este de a preveni ca site-ul dvs. să nu fie hacked, dar este, de asemenea, o modalitate excelentă de a gestiona redirecționările și de a gestiona sarcini legate de cache.
.htaccess este a Fișier de configurare utilizat pe servere web Apache. Cele mai multe site-uri WordPress rulați pe un server Apache, deși o mică parte este alimentat de Nginx. În acest articol, puteți găsi a colecție de fragmente de cod .htaccess, cele mai multe dintre acestea puteți utiliza pentru a vă asigura site-ul dvs. în timp ce restul pune în aplicare alte caracteristici utile.
Nu uita înapoi fișierul .htaccess înainte de ao edita, astfel încât să puteți întotdeauna reveniți la versiunea anterioară dacă ceva nu merge bine.
Și dacă sunteți o persoană care nu vă atingeți de fișiere de configurare, vă recomandăm BulletProof Security plugin care este cel mai fiabil (și probabil cel mai vechi) gratuit pluginul de securitate .htaccess la magazin.
Creați fișierul .htaccess WP implicit
.htaccess funcționează pe pe bază de directoare ceea ce înseamnă că fiecare director poate avea propriul fișier .htaccess. Se poate întâmpla cu ușurință ca site-ul dvs. WordPress nu are încă un fișier .htaccess. Dacă nu găsiți un fișier .htaccess în directorul dvs. rădăcină creați un fișier text gol și numește-o .htaccess
.
Mai jos, puteți găsi implicit .htaccess WordPress folosește. Ori de câte ori aveți nevoie de acest cod, puteți să îl căutați rapid în Codul WordPress. Rețineți că există un alt tip .htaccess pentru WP Multisite.
# BEGIN WordPressRewriteEngine pe RewriteBase / RewriteRule ^ index \ .php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L] # END WordPress
Liniile care încep cu #
sunt comentarii. Nu editați nimic printre randuri # BEGIN WordPress
și # END WordPress
. Adăugați regulile personalizate .htaccess sub aceste reguli implicite.
Toate fragmentele de cod puteți găsi în acest articol accesați fișierul .htaccess de bază găsite în directorul rădăcină.
1. Nu permiteți accesul la toate fișierele .htaccess
Codul de mai jos respinge accesul la toate fișierele .htaccess pe care le-ați instalat în WordPress. În acest fel puteți împiedica oamenii să vă vadă configurații server web.
# Anulează accesul la toate fișierele .htaccessOrdonare Permite, Neagă Deny de la toate Satisface toate
2. Protejați configurația WP
wp-config.php
fișier conține toate configurațiile WP, inclusiv datele de conectare și parola bazei de date. Puteți să le nega fie de la oricine, fie de la dă permisiunea administratorilor să o acceseze.
Dacă alegeți din urmă comentează # Permiteți de la xx.xx.xx.xxx
linie (eliminați #
de la începutul liniei) și introduceți adresa IP a administratorului in locul xx.xx.xx.xxx
.
# Protejează wp-configOrdine Permite, Neagă # Permite din xx.xx.xx.xxx # Permite din yy.yy.yy.yyy Neagă de la toate
3. Preveniți atacul DDoS al XML-RPC
WordPress sprijină XML-RPC în mod implicit, care este un interfață care face publicarea la distanță posibil. Cu toate acestea, în timp ce este o caracteristică excelentă, este, de asemenea, una dintre cele mai mari vulnerabilități de securitate ale WP ca și hackeri să o exploateze pentru atacurile DDoS.
Dacă nu doriți să utilizați această funcție, este mai bine doar să o faceți dezactivați-l. La fel ca înainte, puteți adăugați excepții comentând # Permiteți de la xx.xx.xx.xxx
line și adăugarea adreselor IP ale administratorului / administratorilor dvs..
# Protejează XML-RPC, previne atacul DDoSOrdonare Neagră, Permite # Permite din xx.xx.xx.xxx # Permite din yy.yy.yy.yyy Neagă de la toate
4. Protejați-vă zona de administrare
Este, de asemenea, o idee bună să protejați zona administratorului prin acordarea accesului numai administratorilor. Aici, nu uitați să adăugați cel puțin una “Permite” excepție altfel nu veți putea accesa deloc administratorul.
# Protejează zona de administrare prin IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName "Administratorul de acces la WordPress Admin" AuthType BasicOrdonare Deny, Permiteți Deny de la toate Permiteți de la xx.xx.xx.xxx Permiteți de la yy.yy.yy.yyy
5. Preveniți înregistrarea directoarelor
Cele mai multe site-uri WordPress nu dezactivează înregistrarea directoarelor, ceea ce înseamnă că oricine poate răsfoiți dosarele și fișierele acestora, inclusiv încărcări media și fișiere plugin. Este inutil să spun că aceasta este o vulnerabilitate de securitate imensă.
Mai jos, puteți vedea cum lista tipică a directorului WordPress arată.
Din fericire, ai nevoie o linie de cod pentru a bloca această caracteristică. Acest fragment de cod va fi returnați un mesaj de eroare 403 pentru oricine dorește să vă acceseze directoarele.
# Previne listarea listei de opțiuni -Indexes
6. Preveniți enumerarea numelui de utilizator
În cazul în care permalinks WP sunt activate, este destul de ușor să enumerați numele de utilizator folosind arhivele autorului. Numele utilizatorilor dezvăluiți (inclusiv numele de utilizator al administratorului) pot fi apoi utilizați în atacuri de forță brute.
Introduceți codul de mai jos în fișierul .htaccess la împiedica enumerarea numelui de utilizator.
# Previne enumerarea numelui de utilizator RewriteCond% QUERY_STRING autor = d RewriteRule ^ /? [L, R = 301]
7. Blocați spammeri și roboți
Uneori poate doriți restricționa accesul de la anumite adrese IP. Acest fragment de cod oferă o modalitate ușoară de a bloca spam-urile și roboții pe care îi cunoașteți deja.
# Blochează spam-uri și roboțiOrdine Permite, Neagă Deny de la xx.xx.xx.xxx Neagă de la yy.yy.yy.yyy Permiteți tuturor
8. Împiedicați conectarea rapidă a imaginii
Deși nu este o amenințare la adresa securității, imagine fierbinte este încă un lucru enervant. Oamenii nu numai utilizați imaginile fără permisiunea dvs. dar ei chiar fac asta la costul tău. Cu aceste câteva linii de cod, puteți să vă protejați site-ul de imaginea fierbinte.
# Previne imaginea hotlink RewriteEngine pe RewriteCond% HTTP_REFERER! ^ $ RewriteCond% HTTP_REFERER! ^ Http (s)?: // (www \.)? Yourwebsite.com [NC] RewriteCond% HTTP_REFERER (NC, F, L) - [NC]
9. Restricționați accesul direct la fișiere PHP și plugin-uri tematice
Poate fi periculos dacă cineva sună direct pluginul și fișierele tematice, indiferent dacă se întâmplă accidental sau de către un atacator rău intenționat. Acest fragment de cod vine de la compania de securitate a site-ului Acunetix; puteți citi mai multe despre această vulnerabilitate în postarea pe blog.
# Restrictivează accesul la fișierele PHP din plugin-uri și directoare de teme RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / file / to / exclude \ .php RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / / exclude / RewriteRule wp-content / plugins / (. * \. php) $ - [R = 404, L] RewriteCond% REQUEST_URI REQUEST_URI! / Wp-content / temele / directorul / la / exclude / RewriteRule wp-content / themes / (. * \. Php) $ - [R =
10. Configurați redirecționări permanente
Puteți ușor gestionează redirecționările permanente cu .htaccess. Mai întâi trebuie să adăugați URL vechi, apoi urmați noua adresă URL care indică pagina la care doriți să redirecționați utilizatorul.
# Redirecționări permanente Redirecționare 301 / oldurl1 / http://yoursite.com/newurl1 Redirecționare 301 / oldurl2 / http://yoursite.com/newurl2
11. Trimiteți vizitatorii la o pagină de întreținere
Am scris despre această tehnică în detaliu aici. Ai nevoie de pagina de întreținere separată (maintenance.html
în exemplu) pentru ca această regulă .htaccess să funcționeze. Acest cod vă pune site-ul WordPress în modul de întreținere.
# Redirecționează către pagina de întreținereRewriteEngine pe 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. Restricționați orice acces la WP inclus
/ Wp-includes /
pliant conține fișierele core WordPress care sunt necesare pentru ca CMS să funcționeze. Nu există conținut, pluginuri, teme sau nimic altceva pe care un utilizator ar dori să îl acceseze aici. Deci, pentru a întări securitatea este mai bine să restricționați accesul la acesta.
# Blochează toate fișierele wp - include dosare și fișiereRewriteEngine pe RewriteBase / RewriteRule ^ wp-admin / include / - [F, L] RewriteRule! ^ Wp- include / - [S = 3] RewriteRule ^ wp-include / L] RewriteRule ^ wp-include / js / tinymce / langs /.+ \. Php - [F, L]
13. Blocați script-urile de site-uri (XSS)
Următorul fragment de cod este produs de WP Mix și vă protejează site-ul unele atacuri comune XSS, și anume injectarea de script-uri și încercările de a modifica variabilele globale și de cerere.
# Blochează unele atacuri XSSRewriteCond% QUERY_STRING (|% 3E) [NC, OR] RewriteCond% QUERY_STRING GLOBALS (= _REQUEST (= | \ [|% [0-9A-Z] 0,2) RewriteRule. * Index.php [F, L]
14. Activați cache-ul browserului
După cum am menționat mai devreme, .htaccess nu este numai bun din motive de securitate și redirecționări, dar vă poate ajuta, de asemenea gestionați cache-ul. Fragmentul de cod de mai jos este din Temele Elegante și este face ca cache-ul browser-ului să fie posibil permițând vizitatorilor să salva anumite tipuri de fișiere, data viitoare când vizitează, nu trebuie să le descarce din nou.
# Activează cache-ul browseruluiExpiresByType image / jpg "acces 1 an" ExpiresByType image / jpg "acces 1 an" ExpiresByType image / gif "acces 1 an" ExpiresByType image / pdf "acces 1 luna" ExpiresByType text / x-javascript "acces 1 lună" ExpiresByType application / x-shockwave-flash "acces 1 lună" ExpiresByType image /
15. Configurați paginile de erori personalizate
Puteți utiliza .htaccess pentru a configura pagini personalizate de eroare pe site-ul dvs. WordPress. Pentru ca această metodă să funcționeze, trebuie, de asemenea creați paginile de eroare personalizate (custom-403.html
, custom-404.html
în exemplu) și încărcați-le în dosarul rădăcină.
Puteți configura o pagină de eroare personalizată pentru orice cod de stare de eroare HTTP (Codurile de stare 4XX și 5XX) pe care doriți.
# Setează pagini de erori personalizate ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html