15 Naudingi .htaccess fragmentai jūsų „WordPress“ svetainei
A gerai sukonfigūruotas .htaccess failas yra labai svarbus, jei norite padidinti saugumą ir sumažinti pažeidžiamumą „WordPress“ svetainėje. Paprastai pagrindinis tikslas sukurti a pasirinktinis .htaccess failas yra užkirsti kelią jūsų svetainės įsilaužimui, bet taip pat yra puikus būdas valdyti peradresavimus ir valdyti su talpykla susijusias užduotis.
.htaccess yra a konfigūracijos failą naudojamas „Apache“ žiniatinklio serveriuose. Dauguma WordPress svetainių paleisti „Apache“ serveryje, nors maža dalis yra maitina Nginx. Šiame straipsnyje rasite: .htaccess kodo fragmentų rinkinys, Dauguma jų galite naudoti, kad apsaugotumėte savo svetainę, o kiti - naudodami kitas naudingas funkcijas.
Nepamirškite kopijuoti .htaccess failą prieš jį redaguodami, kad galėtumėte visada grįžti į ankstesnę versiją jei kas nors negerai.
Ir, jei esate kažkas, kas nesiliečia su konfigūracijos failais, rekomenduoju jums BulletProof Security papildinys, kuris yra patikimiausias (ir turbūt seniausias) nemokamai .htaccess saugumo papildinys rinkoje.
Sukurkite numatytąją WP .htaccess
.htaccess veikia a pagal katalogą tai reiškia, kad kiekvienas katalogas gali turėti savo .htaccess failą. Tai gali lengvai atsitikti, kad jūsų „WordPress“ svetainė dar neturi .htaccess failo. Jei jūsų šakniniame kataloge nerandate .htaccess failo sukurti tuščią tekstinį failą ir pavadinkite jį .htaccess
.
Žemiau rasite numatytoji .htaccess „WordPress“ naudoja. Kai jums reikia šio kodo, galite greitai jį peržiūrėti „WordPress Codex“. Atkreipkite dėmesį, kad „WP Multisite“ yra kitoks .htaccess.
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^ indeksas php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L] # END WordPress
Linijos prasideda #
yra komentarai. Negalima redaguoti nieko tarp eilučių # BEGIN WordPress
ir # END WordPress
. Pridėkite savo pasirinktines .htaccess taisykles žemiau šių numatytų taisyklių.
Visi kodo fragmentai, kuriuos galite rasti šiame straipsnyje eikite į pagrindinį .htaccess failą rasti šakniniame kataloge.
1. Neleisti prieiti prie visų .htaccess failų
Toliau pateikiamas kodas neigia prieigą prie visų .htaccess failų, kuriuos įdiegėte „WordPress“. Tokiu būdu jūs galite neleisti žmonėms matyti jūsų žiniatinklio serverio konfigūracijos.
# Neleidžiama pasiekti visų .htaccess failųUžsakyti leisti, paneigti Neleisti visiems
2. Apsaugokite savo WP konfigūraciją
The wp-config.php
faile yra visos jūsų WP konfigūracijos, įskaitant duomenų bazės prisijungimo vardą ir slaptažodį. Jūs galite jį paneigti iš visų ar suteikti administratoriams leidimą prieiti prie jo.
Jei pasirinksite pastarąjį komentaras iš # Leisti iš xx.xx.xx.xxx
linija (pašalinti #
nuo linijos pradžios) ir įdėkite administratoriaus IP adresą vietoj xx.xx.xx.xxx
.
# Apsaugo wp-configLeisti, neleisti # leisti iš xx.xx.xx.xxx # Leisti nuo yy.yy.yy.yyy neigti iš visų
3. Neleisti XML-RPC DDoS atakos
WordPress palaiko XML-RPC pagal nutylėjimą, kuris yra sąsaja, kuri leidžia nuotolinį leidybą įmanoma. Tačiau, nors tai puiki funkcija, tai taip pat yra vienas didžiausių WP saugumo pažeidžiamumo, nes gali atsirasti įsilaužėlių išnaudoti ją DDoS atakoms.
Jei nenorite naudoti šios funkcijos, tai geriau išjungti. Kaip ir anksčiau, galite pridėkite išimčių komentuodami # Leisti iš xx.xx.xx.xxx
eilutė ir pridedami jūsų administratoriaus (-ų) IP.
# Apsaugo XML-RPC, apsaugo nuo DDoS atakosUžsakymo uždrausti, leisti # leisti nuo xx.xx.xx.xxx # Leisti nuo yy.yy.yy.yyy neigti iš visų
4. Apsaugokite savo administravimo sritį
Tai taip pat gera idėja apsaugoti administravimo sritį suteikiant prieigą tik administratoriams. Čia nepamirškite pridėti bent vieną “Leisti” išimtis kitaip negalėsite pasiekti savo administratoriaus.
# Apsaugo administratoriaus sritį pagal IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName „WordPress Administratoriaus prieigos kontrolė“ AuthType BasicUžsakymo paneigimas, Leisti paneigti iš visų Leisti nuo xx.xx.xx.xxx Leisti nuo yy.yy.yy.yyy
5. Neleisti katalogų sąrašo
Dauguma „WordPress“ svetainių neišjungia katalogų sąrašo, o tai reiškia, kad kiekvienas gali naršyti jų aplankus ir failus, įskaitant žiniasklaidos įkėlimus ir įskiepių failus. Nereikia nė sakyti, kad tai yra didžiulis saugumo pažeidžiamumas.
Žemiau galite pamatyti, kaip a atrodo tipiškas „WordPress“ katalogų sąrašas.
Laimei, jums tiesiog reikia viena eilutė kodo blokuoti šią funkciją. Šis kodo fragmentas bus grąžinti 403 klaidos pranešimą visiems, kurie nori pasiekti jūsų katalogus.
# Užkerta kelią katalogų sąrašui Pasirinktys -Pagal
6. Apsaugokite naudotojo vardų skaičiavimą
Jei WP permalinks yra įjungtos, tai gana paprasta išvardyti naudotojų vardus naudojant autorių archyvus. Tada atskleisti naudotojo vardai (įskaitant administratoriaus naudotojo vardą) gali būti naudojami brutalia jėga.
Įdėkite žemiau esantį kodą į .htaccess failą užkirsti kelią naudotojo vardų skaičiavimui.
# Apsaugo naudotojo vardo skaičiavimą RewriteCond% QUERY_STRING autorius = d RewriteRule ^ /? [L, R = 301]
7. Blokuokite nepageidaujamo e
Kartais galbūt norėsite apriboti prieigą iš tam tikrų IP adresų. Šis kodo fragmentas yra paprastas būdas blokuoti jau žinomus šlamšto siuntėjus ir žinutes.
# Blokuoja nepageidaujamus laiškus ir robotusLeisti, uždrausti neigti iš xx.xx.xx.xxx Neleisti nuo yy.yy.yy.yyy Leiskite iš visų
8. Užkirsti kelią karštam ryšiui
Nors tai nėra saugumo grėsmė, atvaizdavimas vis dar yra erzina dalykas. Žmonės ne tik naudokite savo vaizdus be jūsų leidimo bet jie netgi tai daro už savo kainą. Naudodamiesi šiomis keliomis eilutėmis, galite apsaugoti svetainę nuo karšto ryšio.
# Užkerta kelią „hotlinking“ RewriteEngine „RewriteCond% HTTP_REFERER! ^ $ RewriteCond% HTTP_REFERER! ^ Http (s)?: // (www)? Yourwebsite.com [NC] RewriteCond% HTTP_REFERER! s)?: // (www)? yourwebsite2.com [NC] RewriteRule (jpe? g? | png | gif | ico | pdf | flv | swf | gz) $ - [NC, F, L]
9. Apribokite tiesioginę prieigą prie „plugin & theme“ PHP failų
Tai gali būti pavojinga, jei kas nors tiesiogiai skambina į „plugin“ ir temų failus, ar tai atsitiktinai ar kenkėjiškas užpuolikas. Šis kodo fragmentas ateina iš „Acunetix“ svetainės apsaugos įmonės; daugiau apie šį pažeidžiamumą galite perskaityti savo dienoraštyje.
# Apriboja prieigą prie PHP failų iš papildinių ir temų katalogų „RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / file / į / išbraukti .php RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / directory / į / neįtraukti / RewriteRule wp-content / plugins / (. * php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-content / themes / file / į / išskirti \ t REQUEST_URI! ^ / Wp-content / themes / directory / į / neįtraukti / RewriteRule wp-content / themes / (. * Php) $ - [R = 404, L]
10. Nustatykite nuolatinius peradresavimus
Jūs galite lengvai tvarkyti nuolatinius peradresavimus su .htaccess. Pirmiausia turite pridėti senas URL, tada sekite naujas URL nurodo puslapį, kurį norite nukreipti vartotoją.
# Nuolatiniai nukreipimai Redirect 301 / oldurl1 / http://yoursite.com/newurl1 Redirect 301 / oldurl2 / http://yoursite.com/newurl2
11. Siųsti lankytojus į priežiūros puslapį
Čia išsamiai aprašėme šią techniką. Jums reikia a atskiras techninės priežiūros puslapis (Maintenance.html
pavyzdyje), kad ši .htaccess taisyklė veiktų. Šis kodas suteikia „WordPress“ svetainę į priežiūros režimą.
# Peradresuojama į priežiūros puslapįRewriteEngine dėl „RewriteCond“% REMOTE_ADDR! ^ 123 456 0789 000 „RewriteCond“% REQUEST_URI! /Maintenance.html$ [NC] RewriteCond% REQUEST_URI! (Jpe? G? | Png | gif ) [NC] RewriteRule. * /Maintenance.html [R = 503, L]
12. Apribokite visą prieigą prie WP
The / wp-include /
aplanką yra pagrindiniai „WordPress“ failai kad CMS galėtų dirbti. Nėra turinio, įskiepių, temų ar nieko, ką vartotojas gali norėti pasiekti čia. Taigi, norint sukietinti saugumą, geriausia apriboti prieigą prie jos.
# Blokuoja visus aplankus ir failusRewriteEngine On RewriteBase / RewriteRule ^ wp-admin / include / - [F, L] RewriteRule! ^ Wp-include / - [S = 3] RewriteRule ^ wp-include / [^ /] + php $ - [F, L] RewriteRule ^ wp-include / js / tinymce / langs /.+ php - [F, L] RewriteRule ^ wp-include / theme-compat / - [F, L]
13. Blokuoti skriptus tarp svetainių (XSS)
Šis kodo fragmentas yra iš WP Mix ir apsaugo jūsų svetainę nuo kai kurios XSS atakos, būtent scenarijų injekcijos ir bandymai pakeisti pasaulinius ir užklausos kintamuosius.
# Blokuoja kai kurias XSS atakasRewriteCond% 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. Įgalinti naršyklės talpyklą
Kaip jau minėjau, .htaccess yra ne tik naudinga saugumo sumetimais ir peradresavimu, bet taip pat gali jums padėti tvarkyti talpyklą. Toliau pateiktas kodo fragmentas pateiktas iš „Elegant“ temų ir jos leidžia naršyklės talpyklą leisdami lankytojams išsaugoti tam tikrų rūšių failus, todėl kitą kartą, kai jie apsilankys, jie neturi jų atsisiųsti dar kartą.
# Leidžia naršyklės talpykląExpiresActive On ExpiresByType image / jpg "access 1 year" ExpiresByType image / jpeg "access 1 year" ExpiresByType image / gif "access 1 year" ExpiresByType image / png "access 1 year" ExpiresByType text / css "access 1 month" ExpiresByType programa / pdf "access 1 month" ExpiresByType tekstas / x-javascript "access 1 month" ExpiresByType taikymas / x-shockwave-flash "prieiga 1 mėnuo" ExpiresByType image / x-icon "access 1 year" BaigiasiDefault "access 2 days"
15. Nustatykite tinkintus klaidų puslapius
Jūs galite naudoti .htaccess, kad sukurtumėte pasirinktinius klaidų puslapius savo „WordPress“ svetainėje. Kad šis metodas veiktų, jums taip pat reikia sukurti priskirtų klaidų puslapius (custom-403.html
, custom-404.html
pavyzdyje) ir įkelkite juos į šakninį aplanką.
Galite nustatyti pasirinktinį klaidos puslapį bet koks HTTP klaidos būsenos kodas (4XX ir 5XX būsenos kodai).
# Nustato pasirinktinius klaidos puslapius ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html