15 Uporabni odlomki .htaccess za vašo WordPress stran
Ob a dobro konfigurirano datoteko .htaccess je ključnega pomena, če želite povečati varnost in zmanjšanje ranljivosti na vaši strani WordPress. Običajno je glavni cilj ustvarjanja datoteko po meri .htaccess je preprečiti, da bi bilo vaše spletno mesto hackirano, vendar je tudi odličen način za preusmerjanje in upravljanje nalog, povezanih s predpomnilnikom.
.htaccess je konfiguracijsko datoteko uporabljajo na spletnih strežnikih Apache. Večina WordPress strani teči na strežniku Apache, čeprav je majhen delež uporablja Nginx. V tem članku lahko najdete a zbirka odrezkov kode .htaccess, večino, ki jih lahko uporabite za zaščito vaše spletne strani, medtem ko preostali izvaja druge uporabne funkcije.
Ne pozabi varnostno kopirajte datoteko .htaccess preden ga uredite, tako da lahko vedno vrnitev na prejšnjo različico če gre kaj narobe.
In če ste nekdo, ki se raje ne dotika konfiguracijskih datotek, vam priporočam BulletProof Security plugin, ki je najbolj zanesljiv (in verjetno najstarejši) free .htaccess varnostni plugin na trgu.
Ustvarite privzeti WP .htaccess
.htaccess deluje na na podlagi posameznega imenika kar pomeni, da ima vsak imenik lahko svojo lastno datoteko .htaccess. Lahko se zgodi, da je vaše WordPress mesto še nima datoteke .htaccess. Če v korenskem imeniku ne najdete datoteke .htaccess ustvarite prazno besedilno datoteko in ime .htaccess
.
Spodaj lahko najdete privzeti .htaccess WordPress uporablja. Kadarkoli potrebujete to kodo, jo lahko hitro poiščete v WordPress Codexu. Upoštevajte, da obstaja druga .htaccess za WP Multisite.
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^ index $ php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L] # END WordPress
Vrstice, ki se začnejo z #
so komentarji. Ne urejajte ničesar med vrsticami # BEGIN WordPress
in # END WordPress
. Dodajte pravila .htaccess po meri spodaj ta privzeta pravila.
V tem članku lahko najdete vse odlomke kode pojdite v jedro .htaccess datoteke najdete v korenskem imeniku.
1. Zavrnite dostop do vseh datotek .htaccess
Spodnja koda zavrne dostop za vse .htaccess datoteke, ki ste jih namestili v WordPress. Na ta način lahko preprečite, da bi ljudje videli vaše konfiguracije spletnega strežnika.
# Zavrne dostop do vseh datotek .htaccessNaročilo Dovoli, zavrni zanikanje od vseh Zadovolji vse
2. Zaščitite konfiguracijo WP
The wp-config.php
datoteka vsebuje vse konfiguracije WP, vključno z uporabniškim imenom in geslom baze podatkov. Lahko jo zavrnete od vseh ali dovolite administratorjem dostop do njega.
Če izberete slednje komentirajte # Dovoli od xx.xx.xx.xxx
vrstico (odstranite #
od začetka vrstice) in vstavite skrbniški IP naslov namesto xx.xx.xx.xxx
.
# Ščiti wp-configNaročilo Dovoli, Zavrni # Dovoli od xx.xx.xx.xxx # Dovoli od yy.yy.yy.yyy Zavrni iz vseh
3. Preprečite napad DDoS XML-RPC
WordPress podpira XML-RPC privzeto, kar je vmesnik, ki omogoča oddaljeno objavljanje mogoče. Čeprav je to odlična funkcija, je tudi ena največjih varnostnih ranljivosti WP, saj lahko hekerji to storijo izkoriščajo ga za DDoS napade.
Če ne želite uporabiti te funkcije, je bolje, da to storite onemogočite. Tako kot prej, lahko dodajte izjeme s komentiranjem # Dovoli od xx.xx.xx.xxx
vrstico in dodajanje IP-jev vaših skrbnikov.
# Ščiti XML-RPC, preprečuje DDoS napadNaročilo Zavrni, Dovoli # Dovoli od xx.xx.xx.xxx # Dovoli od yy.yy.yy.yyy Zavrni iz vseh
4. Zaščitite skrbniško področje
To je tudi dobra ideja zaščitite skrbniško področje z omogočanjem dostopa samo skrbnikom. Tukaj, ne pozabi dodajte vsaj eno “Dovoli” izjema v nasprotnem primeru ne boste mogli dostopati do skrbnika.
# Ščiti skrbniško območje za IP Avtorizacijsko datoteko / dev / null Nastavitvena datoteka / dev / null Avtorsko ime "WordPress Admin nadzor dostopa"Naročilo zavrni, dovoli Deny iz vseh Dovoli od xx.xx.xx.xxx Dovoli iz yy.yy.yy.yyy
5. Preprečite vnos v imenik
Večina spletnih mest WordPress ne onemogoči seznama imenikov, kar pomeni, da lahko vsakdo brskate po mapah in datotekah, vključno s prenosi medijev in datotek z vtičniki. Ni treba reči, da je to velika varnostna ranljivost.
Spodaj lahko vidite, kako a tipičen WordPress seznam imenikov izgleda.
Na srečo potrebuješ eno vrstico kode , da blokirate to funkcijo. Ta odrezek kode bo vrnite sporočilo o napaki 403 vsakomur, ki želi dostopati do vaših imenikov.
# Preprečuje možnosti imeniških imenikov
6. Preprečite oštevilčevanje uporabniških imen
Če so WP permalinks omogočene, je zelo enostavno naštevanje uporabniških imen z uporabo arhiva avtorja. Prikazana uporabniška imena (vključno z uporabniškim imenom skrbnika) se nato lahko uporabijo v napadov s silo.
Spodnjo kodo vstavite v datoteko .htaccess preprečite oštevilčevanje uporabniških imen.
# Prepreči oštevilčenje uporabniškega imena RewriteCond% QUERY_STRING avtor = d RewriteRule ^ /? [L, R = 301]
7. Blokirajte pošiljatelje neželene pošte in pošto
Včasih boste morda želeli omeji dostop z določenih naslovov IP. Ta odrezek kode omogoča preprost način blokiranja pošiljateljev neželene pošte in pošto, ki jih že poznate.
# Blokira pošiljatelje neželene pošte in poštoNaročilo Dovoli, Zavrni Deny iz xx.xx.xx.xxx Deny from yy.yy.yy.yyy Dovoli od vseh
8. Preprečite povezovanje s sliko
Čeprav ni varnostna grožnja, vroča povezava je še vedno moteča stvar. Ljudje ne samo uporabite svoje slike brez vašega dovoljenja ampak to storijo celo za vas. S temi nekaj vrsticami kode lahko svoje spletno mesto zaščitite pred povezavami s slikami.
# Preprečuje povezavo med povezavami RewriteEngine na 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. Omejite neposreden dostop do datotek PHP in plugin & theme
Lahko je nevarno za nekoga neposredno prikliče datoteke vtičnika in teme, ali se to zgodi naključno ali zlonamernim napadalcem. Ta odrezek kode prihaja iz družbe Acunetix za varnost spletnih strani; več o tej ranljivosti lahko preberete v njihovi objavi na blogu.
# Omeji dostop do datotek PHP iz vtičnikov in tematskih imenikov RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / file / to / izključi \ _php RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / directory / to / izključi / RewriteRule wp-content / plugins / (. * php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-content / themes / file / to / izključi \ t REQUEST_URI! ^ / Wp-content / themes / imenik / do / izključi / RewriteRule wp-content / themes / (. * Php) $ - [R = 404, L]
10. Nastavite stalne preusmeritve
Z lahkoto lahko ravnajte s stalnimi preusmeritvami z .htaccess. Najprej morate dodati stari URL, nato sledite nov URL ki kaže na stran, na katero želite preusmeriti uporabnika.
# Stalna preusmeritve Preusmeritev 301 / oldurl1 / http://yoursite.com/newurl1 Preusmeritev 301 / oldurl2 / http://yoursite.com/newurl2
11. Pošljite obiskovalce na stran za vzdrževanje
O tej tehniki smo podrobno pisali tukaj. Potrebujete a ločeno stran za vzdrževanje (maintenance.html
v tem primeru) za to pravilo .htaccess deluje. Ta koda postavi vašo WordPress stran v način vzdrževanja.
# Preusmeri na stran za vzdrževanjeRewriteEngine on RewriteCond% REMOTE_ADDR! ^ 123 456 789 RewriteCond% REQUEST_URI! /Maintenance.html$ [NC] RewriteCond% REQUEST_URI! (Jpe? G? | Png | gif ) [NC] RewriteRule. * /Maintenance.html [R = 503, L]
12. Omejitev dostopa do WP
The / wp-includes /
mapo vsebuje osnovne WordPress datoteke ki so potrebni za delovanje CMS. Ni vsebine, vtičnikov, tem ali karkoli drugega, kar bi uporabnik morda želel dostopiti tukaj. Da bi okrepili varnost, je najbolje omejijo dostop do njega.
# Blokira vse mape in datoteke, ki vsebujejo wpRewriteEngine Na RewriteBase / RewriteRule ^ wp-admin / vključuje / - [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. Blokiraj skriptiranje med spletnimi mesti (XSS)
Naslednji odrezek kode je iz WP Mixa in ščiti vaše spletno mesto pred nekaj pogostih napadov XSS, namreč injekcije skriptov in poskuša spremeniti globalne spremenljivke in spremenljivke zahtev.
# Blokira nekatere XSS napadeRewriteCond% QUERY_STRING (\ _ |% 3E) [NC, OR] RewriteCond% QUERY_STRING GLOBALS (= | [|] [0-9A-Z] 0,2) [ALI] RewriteCond% QUERY_STRING _REQUEST (= | | | | [0-9A-Z] 0,2) RewriteRule. * Index.php [F, L]
14. Omogočite predpomnjenje brskalnika
Kot sem že omenil, .htaccess ni le dober iz varnostnih razlogov in preusmeritev, ampak vam lahko tudi pomaga upravljate predpomnilnik. Spodnji odsek kode je iz Elegantnih tem in omogoča predpomnjenje brskalnika z omogočanjem obiskovalcem shranite določene vrste datotek, zato naslednjič, ko bodo obiskali, jim ni treba ponovno prenesti podatkov.
# Omogoča predpomnjenje brskalnikaExpiresActive Na ExpiresByType image / jpg "dostop 1 leto" ExpiresByType image / jpeg "dostop 1 leto" ExpiresByType image / gif "dostop 1 leto" ExpiresByType image / png "dostop 1 leto" ExpiresByType text / css "dostop 1 mesec" ExpiresByType application / pdf "dostop 1 mesec" ExpiresByType besedilo / x-javascript "dostop 1 mesec" ExpiresByType application / x-shockwave-flash "dostop 1 mesec" ExpiresByType image / x-icon "dostop 1 leto" ExpiresDefault "access 2 days"
15. Nastavite strani napak po meri
Lahko uporabite .htaccess za nastavitev strani napak po meri na vašem WordPress mestu. Da bi ta metoda delovala, morate tudi ustvarite strani napak po meri (custom-403.html
, custom-404.html
v primeru) in naložite jih v korensko mapo.
Nastavite lahko stran z napako po meri za kodo stanja napake HTTP (Statusne kode 4XX in 5XX).
# Nastavi strani napak po meri ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html