15 Hasznos .htaccess töredékek a WordPress webhelyéhez
Amelynek jól konfigurált .htaccess fájl elengedhetetlen, ha akarod növeli a biztonságot és csökkentse a sebezhetőségeket a WordPress webhelyén. Általában az a egyéni .htaccess fájl az, hogy megakadályozza, hogy webhelye szaggatott, de ez is kiváló módja az átirányítások kezelésének és a gyorsítótárhoz kapcsolódó feladatok kezelésének.
.A htaccess a konfigurációs fájl az Apache webkiszolgálókon. A legtöbb WordPress webhely egy Apache szerveren fut, bár egy kis rész Nginx hajtja. Ebben a cikkben található a .htaccess kódrészletek gyűjteménye, a legtöbbet felhasználhatja, hogy biztosítsa a webhelyét, míg a többi egyéb hasznos funkciót használ.
Ne felejtsd el mentse el a .htaccess fájlt annak szerkesztése előtt, hogy mindig lehessen visszatér az előző verzióhoz ha valami rosszul megy.
És ha valaki, aki inkább nem érinti a konfigurációs fájlokat, javaslom a BulletProof Security plugin, amely a legmegbízhatóbb (és valószínűleg a legrégebbi) ingyenes .htaccess biztonsági bővítmény a piacon.
Hozza létre az alapértelmezett WP .htaccess-t
.a htaccess a könyvtáronként ami azt jelenti, hogy minden könyvtárnak saját .htaccess fájlja lehet. Könnyen előfordulhat, hogy a WordPress webhelye nincs .htaccess fájlja. Ha nem talál .htaccess fájlt a gyökérkönyvtárában hozzon létre egy üres szövegfájlt és nevezze el .htaccess
.
Az alábbiakban megtalálható a alapértelmezett .htaccess WordPress használ. Ha szüksége van erre a kódra, gyorsan megnézheti a WordPress Codex-ban. Ne feledje, hogy a WP Multisite esetében más .htaccess is elérhető.
# BEGIN WordPressRewriteEngine On RewriteBase / RewriteRule ^ index \ tphp $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L] # END WordPress
A vonalak kezdődnek #
megjegyzések. Ne szerkesszen semmit a sorok között # BEGIN WordPress
és # END WordPress
. Adja hozzá az egyéni .htaccess szabályokat ezen alapértelmezett szabályok alatt.
Az ebben a cikkben található összes kódrészlet menjen a központi .htaccess fájlba a gyökérkönyvtárban található.
1. Tiltsa le az összes .htaccess fájl elérését
Az alábbi kód megtagadja a hozzáférést az összes .htaccess fájlba, amelyet a WordPress-be telepített. Így megakadályozhatja, hogy az emberek láthassák webszerver konfigurációk.
# Elutasítja az összes .htaccess fájl elérésétRendelés engedélyezése, megtagadja a megtagadást az összestől
2. Védje WP konfigurációját
A wp-config.php
fájl tartalmaz az összes WP konfiguráció, beleértve az adatbázis-bejelentkezési nevet és a jelszót. Elutasíthatja mindenkinek, vagy engedélyt ad az adminisztrátoroknak, hogy hozzáférjenek hozzá.
Ha az utóbbit választja magyarázat ki a # Engedélyezve az xx.xx.xx.xxx fájlból
vonal (távolítsa el #
a vonal elejétől) és helyezze be az adminisztrátor IP-címét helyett xx.xx.xx.xxx
.
# Védi a wp-config-tRendelés engedélyezése, tiltás # engedélyezése az xx.xx.xx.xxx-től # Engedélyezés: yy.yy.yy.yyy Deny from all
3. Megakadályozza az XML-RPC DDoS támadását
WordPress támogatja az XML-RPC-t alapértelmezés szerint, ami egy interfész, amely távoli közzétételt tesz lehetővé lehetséges. Bár ez egy nagyszerű funkció, ez a WP egyik legnagyobb biztonsági sebezhetősége, mint a hackerek kihasználja a DDoS támadásokat.
Ha nem akarja használni ezt a funkciót, jobb, ha igaz tiltsa le. Csakúgy, mint korábban kivételeket adhat hozzá kommentálással a # Engedélyezve az xx.xx.xx.xxx fájlból
sor és hozzáadja az adminisztrátor (ok) IP-jét.
# Védi az XML-RPC-t, megakadályozza a DDoS támadástRendelés megtagadása, # engedélyezés engedélyezése az xx.xx.xx.xxx-től # Engedélyezés: yy.yy.yy.yyy Deny from all
4. Védje az adminisztrációs területet
Jó ötlet védje az adminisztrációs területet csak adminisztrátorok számára. Itt ne felejtsd el legalább egy hozzáadása “Lehetővé teszi” kivétel ellenkező esetben nem lesz képes hozzáférni az adminisztrátorhoz.
# Védi az adminisztrációs területet az IP AuthUserFile / dev / null segítségével AuthGroupFile / dev / null AuthName "WordPress Admin Access Control" AuthType BasicRendelés megtagadása, Letiltás engedélyezése az összes engedélyezésből az xx.xx.xx.xxx engedélyezéséből: yy.yy.yy.yyy
5. A könyvtárlista megakadályozása
A legtöbb WordPress webhely nem tiltja le a címtárlistát, ami azt jelenti, hogy bárki böngészhet a mappák és fájlok között, beleértve a média feltöltéseket és a plugin fájlokat. Mondanom sem kell, hogy ez egy hatalmas biztonsági rés.
Az alábbiakban láthatjuk, hogy a tipikus WordPress címjegyzéklista néz ki.
Szerencsére csak szükséged van egy kódsor blokkolja ezt a funkciót. Ez a kódrészlet lesz küldjön egy 403-as hibaüzenetet mindenkinek, aki elérheti a könyvtárakat.
# Megakadályozza a könyvtárlistát Opciók -Indexes
6. Megakadályozza a felhasználónév felsorolását
Ha a WP permalink engedélyezve vannak, elég könnyű felsorolja a felhasználóneveket a szerzői archívumok használatával. A feltárt felhasználói nevek (beleértve az adminisztrátori felhasználót) akkor is használhatók erőszakos támadások.
Helyezze be az alábbi kódot a .htaccess fájlba megakadályozza a felhasználónév felsorolását.
# Megakadályozza a felhasználónév felsorolását RewriteCond% QUERY_STRING szerző = d RewriteRule ^ /? [L, R = 301]
7. Blokkolja a spammereket és a botokat
Néha érdemes korlátozza a hozzáférést bizonyos IP-címekről. Ez a kódrészlet egyszerű módja annak, hogy blokkolja a spammereket és botokat, amelyeket már tud.
# Blokkolók és botok blokkolásaRendelés engedélyezése, megtagadja a megtagadást xx.xx.xx.xxx-től Deny a yy.yy.yy.yyy Engedjék meg mindent
8. A kép hotlinking megakadályozása
Bár nem biztonsági fenyegetés, kép hotlinking még mindig bosszantó dolog. Az emberek nem csak használja a képeket az Ön engedélye nélkül de még a saját költségén is. Ezekkel a néhány kódsorral megvédheti webhelyét a kép forró összekapcsolásáról.
# Megakadályozza, hogy RewriteEngine a RewriteCond% HTTP_REFERER! ^ $ RewriteCond% HTTP_REFERER! ^ (Http) s? s)?: // (www)? yourwebsite2.com [NC] RewriteRule (jpe? g? | png | gif | ico | pdf | flv | swf | gz) $ - [NC, F, L]
9. Korlátozza a közvetlen hozzáférést a plugin & theme PHP fájlokhoz
Ez veszélyes lehet, ha valaki közvetlenül hívja a plugin és a témafájlokat, véletlenül vagy rosszindulatú támadó által történik. Ez a kódrészlet az Acunetix webhely biztonsági cégétől származik; a biztonsági résről többet olvashat a blogbejegyzésben.
# RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / file / to / kizárni a PHP fájlokhoz való hozzáférést korlátozza a plugin és a témakönyvtárakból. Rpc RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / directory / to / kizár / RewriteRule wp-content / plugins / (. * php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-content / themes / file / to / kizár \ t REQUEST_URI! ^ / Wp-content / themes / könyvtár / / kizár / RewriteRule wp-content / themes / (. * Php) $ - [R = 404, L]
10. Állítsa be az állandó átirányításokat
Könnyedén kezelje az állandó átirányításokat .htaccess segítségével. Először hozzá kell adnod a régi URL, majd kövesse a új URL-cím amely arra a lapra mutat, amelyre át szeretné irányítani a felhasználót.
# Állandó átirányítások Átirányítás 301 / oldurl1 / http://yoursite.com/newurl1 Átirányítás 301 / oldurl2 / http://yoursite.com/newurl2
11. Küldje el a látogatókat egy karbantartási oldalra
Erről a technikáról részletesen írtunk itt. Neked kell egy külön karbantartási oldalt (maintenance.html
a példában) a .htaccess szabály működéséhez. Ez a kód a WordPress webhelyet helyezi el karbantartási módba.
# Átirányítja a karbantartási oldaltRewriteEngine on 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. Korlátozza az összes hozzáférést a WP-hez
A / Wp-includes /
mappa tartalmazza az alapvető WordPress fájlokat amelyek szükségesek ahhoz, hogy a CMS működjön. Nincsenek tartalmak, bővítmények, témák vagy bármi más, amit a felhasználó itt szeretne elérni. Tehát a biztonság megszilárdítása érdekében a legjobb korlátozza a hozzáférést.
# Blokkolja az összes wp-mappát és fájltRewriteEngine 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. Blokkoldalt átfogó szkriptek blokkolása (XSS)
A következő kódrészlet a WP Mix-ből származik, és védi a webhelyet néhány gyakori XSS-támadás, nevezetesen script injekciók és a globális és a kérésváltozók módosítására tett kísérletek.
# Blokkol néhány XSS támadástRewriteCond% 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. Engedélyezze a böngésző gyorsítótárazását
Amint már említettem, a .htaccess nemcsak biztonsági okokból és átirányításokból áll, hanem segíthet a gyorsítótár kezelése. Az alábbi kódrészlet az Elegáns témákból és az lehetővé teszi a böngésző gyorsítótárazását a látogatók engedélyezésével bizonyos típusú fájlok mentése, így a következő alkalommal, amikor meglátogatják őket, nem kell őket újra letölteniük.
# Lehetővé teszi a böngésző gyorsítótárazásátExpiresActive On ExpiresByType kép / jpg "access 1 year" LejárásByType image / jpeg "access 1 year" ExpiresByType kép / gif "access 1 year" ExpiresByType image / png "access 1 year" ExpiresByType szöveg / css "access 1 month" ExpiresByType alkalmazás / pdf "hozzáférés 1 hónap" ExpiresByType szöveg / x-javascript "hozzáférés 1 hónap" ExpiresByType alkalmazás / x-shockwave-flash "hozzáférés 1 hónap" ExpiresByType kép / x-icon "hozzáférés 1 év" LejárDefault "hozzáférés 2 nap"
15. Állítsa be az egyéni hibaoldalakat
A .htaccess segítségével beállíthatja az egyéni hibalehetőségeket a WordPress webhelyén. Ahhoz, hogy ez a módszer működjön, szükség van rá hozzon létre egyéni hibalehetőségeket (Egyedi 403.html
, Egyedi 404.html
a példában) és töltse fel őket a gyökérkönyvtárba.
Beállíthat egy egyéni hiba oldalt bármely HTTP hibakód (4XX és 5XX állapotkódok).
# Egyedi hibaoldalak beállítása ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html