Domovská » WordPress » 15 Užitečné .htaccess Úryvky pro vaše stránky WordPress

    15 Užitečné .htaccess Úryvky pro vaše stránky WordPress

    Mít dobře nakonfigurovaný soubor .htaccess je rozhodující, pokud chcete zvýšení bezpečnosti a snížení zranitelnosti na stránkách WordPress. Hlavním cílem vytvoření a vlastní soubor .htaccess je zabránit vašemu webu, aby byl hacknut, ale je to také vynikající způsob, jak zvládnout přesměrování a spravovat úkoly související s cache.

    .htaccess je konfigurační soubor používá na webových serverech Apache. Většina stránek WordPress spustit na serveru Apache, malá část je powered by Nginx. V tomto článku naleznete a kolekci útržků kódu .htaccess, většina z nich můžete použít k zabezpečení vašich webových stránek, zatímco zbytek implementuje další užitečné funkce.

    Nezapomeňte zálohovat soubor .htaccess předtím, než ji upravíte, abyste mohli vždy vrátit se k předchozí verzi pokud se něco pokazí.

    A pokud jste někdo, kdo se nedotýká konfiguračních souborů, doporučuji vám Zabezpečení BulletProof plugin, který je nejspolehlivější (a pravděpodobně nejstarší) zdarma .htaccess bezpečnostní plugin na trhu.

    Vytvořit výchozí WP .htaccess

    .htaccess pracuje na pro jednotlivé adresáře což znamená, že každý adresář může mít svůj vlastní soubor .htaccess. To může snadno stát, že vaše stránky WordPress ještě nemá soubor .htaccess. Pokud v kořenovém adresáři nenajdete soubor .htaccess vytvořit prázdný textový soubor a pojmenujte ho .htaccess.

    Níže naleznete výchozí .htaccess WordPress používá. Kdykoliv budete potřebovat tento kód, můžete jej rychle vyhledat v Kodexu WordPress. Všimněte si, že existuje jiný .htaccess pro WP Multisite.

     # BEGIN WordPress  RewriteEngine On RewriteBase / RewriteRule ^ index php $ - [L] RewriteCond% REQUEST_FILENAME! -F RewriteCond% REQUEST_FILENAME! -D RewriteRule. /index.php [L]  # END WordPress 

    Linky začínající na # jsou komentáře. Nic neupravujte mezi řádky # BEGIN WordPress a # END WordPress. Přidejte vlastní pravidla .htaccess pod těmito výchozími pravidly.

    Všechny úryvky kódu naleznete v tomto článku přejděte do základního souboru .htaccess nalezen ve vašem kořenovém adresáři.

    1. Odepřete přístup ke všem souborům .htaccess

    Níže uvedený kód odepře přístup na všechny soubory .htaccess, které jste nainstalovali ve WordPressu. Tímto způsobem můžete zabránit lidem vidět vaše konfigurace webového serveru.

     # Odepře přístup ke všem souborům .htaccess  Order Allow, Deny Deny from all Satisfy all  

    2. Chraňte svou konfiguraci WP

    wp-config.php soubor obsahuje všechny vaše konfigurace WP, včetně vašeho databázového přihlášení a hesla. Můžete to buď odepřít všem nebo udělit povolení administrátorům pro přístup.

    Pokud si vyberete ten druhý komentovat # Povolit od xx.xx.xx.xxx řádek (odstranit # od začátku řádku) a vložte adresu IP administrátora namísto xx.xx.xx.xxx.

     # Chrání wp-config  Objednat Povolit, Odepřít # Povolit od xx.xx.xx.xxx # Povolit od yy.yy.yy.yyy Odepřít od všech  

    3. Zabraňte útoku XML-RPC DDoS

    WordPress podporuje XML-RPC standardně, což je rozhraní, které umožňuje vzdálené publikování možný. I když je to skvělá vlastnost, je to také jedna z největších bezpečnostních chyb WP, protože hackeři mohou zneužití pro útoky DDoS.

    Pokud tuto funkci nechcete používat, je lepší ji prostě použít zakázat. Stejně jako předtím, můžete přidáním výjimek přidejte výjimky # Povolit od xx.xx.xx.xxx řádek a přidáním adres IP vašich administrátorů.

     # Chrání XML-RPC, zabraňuje útoku DDoS  Zakázat objednávku, Povolit # Povolit od xx.xx.xx.xxx # Povolit od yy.yy.yy.yyy Odepřít od všech  

    4. Chraňte svůj admin prostor

    Je to také dobrý nápad chránit oblast admin přístup pouze správcům. Nezapomeňte na to přidat alespoň jeden “Dovolit” výjimka jinak nebudete mít přístup k administrátorovi vůbec.

     # Chrání administrátorskou oblast pomocí IP AuthUserFile / dev / null AuthGroupFile / dev / null AuthName "WordPress Admin Access Control" AuthType Basic  Zakázat objednávku, Povolit odepření od všech Povolit od xx.xx.xx.xxx Povolit od yy.yy.yy.yyy  

    5. Zabraňte výpisu adresáře

    Většina stránek WordPress není zakázat výpis adresáře, což znamená, že může kdokoli procházet jejich sloľky a soubory, včetně uploadů médií a souborů pluginů. Není třeba říkat, že se jedná o obrovskou chybu zabezpečení.

    Níže vidíte, jak a typický výpis adresářů WordPress vypadá.

    Naštěstí potřebujete jeden řádek kódu tuto funkci blokovat. Tento fragment kódu bude vrátit 403 chybová zpráva každému, kdo chce mít přístup k vašim adresářům.

     # Zabraňuje možnostem výpisu adresáře -Indexy 

    6. Zabránit výčtu uživatelského jména

    Jsou-li povoleny permalinky WP, je to docela snadné výčet uživatelských jmen pomocí autorských archivů. Odhalená uživatelská jména (včetně uživatelského jména administrátora) pak mohou být použita útoky hrubou silou.

    Vložte níže uvedený kód do souboru .htaccess zabránit výčtu jména uživatele.

     # Zabraňuje výčtu uživatelského jména RewriteCond% QUERY_STRING autor = d RewriteRule ^ /? [L, R = 301] 

    7. Blokovat spammery a roboty

    Někdy možná budete chtít omezit přístup z určitých IP adres. Tento fragment kódu poskytuje snadný způsob blokování spammerů a bot, které již znáte.

     # Bloky spammerů a botů  Objednat Allow, Deny Deny from xx.xx.xx.xxx Odepřít od yy.yy.yy.yyy  Povolit od všech 

    8. Zabránit zkratování obrázků

    I když to není bezpečnostní hrozba, hotlinking obrazu je stále nepříjemná věc. Lidé ne používat obrázky bez vašeho svolení ale i to za vaši cenu. S těmito několika řádky kódu, můžete chránit vaše stránky z hotlinking obrazu.

     # Zabraňuje tomu, aby se na stránce 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. Omezte přímý přístup k pluginům a tematickým PHP souborům

    Může to být nebezpečné, pokud někdo přímo volá váš plugin a téma soubory, zda se to stane náhodně nebo nebezpečným útočníkem. Tento fragment kódu pochází z bezpečnostní společnosti Acunetix; Další informace o této chybě zabezpečení naleznete v jejich blogu.

     # Omezuje přístup k souborům PHP z adresářů pluginů a motivů RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / file / to / exclude .php RewriteCond% REQUEST_URI! ^ / Wp-content / plugins / directory / to / / exclude / RewriteRule wp-content / plugins / (. * php) $ - [R = 404, L] RewriteCond% REQUEST_URI! ^ / wp-content / themes / file / to / exclude \ t REQUEST_URI! ^ / Wp-content / themes / directory / to / exclude / RewriteRule wp-content / themes / (. * .Pp) $ - [R = 404, L] 

    10. Nastavte trvalé přesměrování

    Můžete snadno zpracovávat trvalé přesměrování s .htaccess. Nejprve musíte přidat stará adresa URL, pak následujte nové adresy URL který odkazuje na stránku, na kterou chcete uživatele přesměrovat.

     # Permanentní přesměrování Přesměrování 301 / oldurl1 / http://yoursite.com/newurl1 Přesměrování 301 / oldurl2 / http://yoursite.com/newurl2 

    11. Pošlete návštěvníkům stránku údržby

    O této technice jsme psali podrobně zde. Potřebuješ samostatnou stránku údržby (maintenance.html v tomto příkladu) pro toto pravidlo .htaccess. Tento kód umístí vaše stránky WordPress do režimu údržby.

     # Přesměrování na stránku údržby  RewriteEngine na 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. Omezit veškerý přístup k WP zahrnuje

    / wp-zahrnuje / složky obsahuje základní soubory WordPress pro fungování CMS. Neexistuje žádný obsah, pluginy, motivy nebo cokoli jiného, ​​k čemu by uživatel chtěl přistupovat. Takže k posílení bezpečnosti je nejlepší omezit veškerý přístup k němu.

     # Blokuje všechny složky a soubory wp-includes  RewriteEngine On RewriteBase / RewriteRule ^ wp-admin / obsahuje / - [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. Blokovat skriptování mezi stránkami (XSS)

    Následující fragment kódu je z WP Mix a chrání vaše stránky proti některé běžné útoky XSS, jmenovitě injekce skriptů a pokusy o změnu globálních proměnných a proměnných požadavků.

     # Blokuje některé XSS útoky  RewriteCond% QUERY_STRING (% 3E) [NC, OR] RewriteCond% QUERY_STRING GLOBALS (= | [0-9A-Z] 0,2) [NEBO] RewriteCond% QUERY_STRING  _REQUEST (= | [0-9A-Z] 0,2) RewriteRule. * Index.php [F, L]  

    14. Povolte ukládání do mezipaměti prohlížeče

    Jak jsem zmínil dříve, .htaccess je nejen dobrý z bezpečnostních důvodů a přesměrování, ale také vám může pomoci spravovat cache. Níže uvedený útržek kódu je z Elegantních témat a to umožňuje ukládání do mezipaměti prohlížeče umožněním návštěvníkům ukládat určité druhy souborů, takže když příště navštíví, nemusejí je znovu stahovat.

     # Povolí ukládání do mezipaměti prohlížeče  ExpiresActive On ExpiresByType image / jpg "přístup 1 rok" ExpiresByType image / jpeg "přístup 1 rok" ExpiresByType image / gif "přístup 1 rok" ExpiresByType image / png "přístup 1 rok" ExpiresByType text / css "přístup 1 měsíc" ExpiresByType text / css "přístup 1 měsíc" ExpiresByType application / pdf "přístup 1 měsíc" ExpiresByType text / x-javascript "přístup 1 měsíc" ExpiresByType application / x-shockwave-flash "přístup 1 měsíc" ExpiresByType image / x-icon "přístup 1 rok" ExpiresDefault "access 2 days"  

    15. Nastavte vlastní chybové stránky

    .Htaccess můžete použít k nastavení vlastních chybových stránek na stránkách aplikace WordPress. Aby tato metoda fungovala, musíte také vytvořte vlastní chybové stránky (custom-403.html, custom-404.html v příkladu) a nahrajte je do kořenové složky.

    Můžete nastavit vlastní chybovou stránku pro kód chybového stavu HTTP (4XX a 5XX stavové kódy).

     # Nastaví vlastní chybové stránky ErrorDocument 403 /custom-403.html ErrorDocument 404 /custom-404.html