5 начина за защита на вашата WordPress инсталация от хакери

Защитата винаги е била гореща тема. Дори в реалният свят хората си купуват аларми за къщите и различни джаджи, които да подпомогнат тяхната сигурност на максимум. Онлайн, защитата е също толкова важна, особено за хора изкарващи си прехраната чрез техният уебсайт или блог. В тази кратка статия ще ви запозная с няколко изпитани и полезни методи за защита на вашият WordPress-based блог/сайт.


 

1. Направете така, че да не се показва ненужна информация


Проблемът
Когато не успеете да се логнете във вашият WordPress blog, системата показва известна информация в помощ да разберете какво се е случило. Това е хубаво за тези, които са забравили паролата си, но може да е хубаво и за хора, които искат да хакнат блога ви. Тогава, защо да не се отървем от тази информация и да накараме WordPress да не я показва ?
Решението
За да се реши този проблем, просто трябва да добави следният код между <?php и ?> във functions.php файла на вашата тема (wp-content/ дайректорията):

add_filter('login_errors',create_function('$a', "return null;"));

След което запазете промените по файла и пробвайте сами, вече не трябва да се показват error съобщенията.
Обяснение на кода
С този код сме добавили прост hook, който пренаписва login_errors() функцията. Понеже пренаписаната функция връща само null, съобщенията които се показват ще бъдат празни.

2. Включете SSL


Проблемът
Ако се безпокоите, че вашата информация може да бъде пресрещната и открадната, тогава определено можете да използвате SSL. Ако не знаете какво представлява SSL, това е криптографичен протокол, който защитава комуникациите по мрежи като Интернет. Но може ли да го използваме на WordPress ? Да, но не всички хостинг компании предлагат използването на SSL, така че проверете първо дали ви е позволено да го използвате преди да направите тази стъпка.
Решението
След като сте се убедили, че хостинга ви е с поддръжка на SSL отворете wp-config.php файла в главната дайректория на WordPress и добавете следният код на нов ред между <?php и ?>:

define('FORCE_SSL_ADMIN', true);

Запазете файла и сте готови!
Обяснение на кода
Нищо сложно тук. WordPress използва многобройни константи за конфигуриране на софтуера. В този случай, ние просто задаваме стойност true на константата FORCE_SSL_ADMIN. Това активира използването на SSL от WordPress.

3. Използвайте .htaccess за да защитите wp-config файла


Проблемът
Като WordPress потребител, със сигурност знаете колко е голяма важността на wp-config.php файла. Защитаването на този файл е много важно, и за тази цел ще използваме силата на Apache.
Решението
.htaccess файла се намира в главната дайректория на WordPress, преди да го променяте си направете копие на файла, за всеки случай, и след това добавете следният код във самият файл:

<files wp-config.php>
order allow,deny
deny from all
</files>

Обяснение на кода
.htaccess файловете са едни от най-силните оръжия срещу нежеланият достъп до вашите файлове. В този код, ние просто създадохме правило, което забранява достъпа до wp-config.php файла, подсигурявайки го от достъп от зли ботове.

4. Защитете блога си от скрипт injections


Проблемът
Защитаването на динамичните сайтове е доста важно, повечето кодъри защитават своите GET и POST рикуестове, но понякога това не е достатъчно. Вашият блог също се нуждае от допълнителна защита срещу скриптове, които се опитват да променят PHP GLOBALS и _REQUEST променливите.
Решението
Следният код блокира скрипт injections и всички опити за модифициране на PHP GLOBALS и _REQUEST променливите. Копирайте го на нов ред във вашият .htaccess файл, като backup на файла е добра идея преди поставянето на кода:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%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]

Обяснение на кода
Използвайки силите на .htaccess файла, ние проверяваме дали request-a съдържа <script> и дали се е опитвал да промени стойноста на PHP GLOBALS и _REQUEST променливите. Ако някое от тези неща се е случило, request-a се блокира и се изкарва 403 Error.

5. Премахнете номерът на версията на вашият WordPress…ама сериозно!


Проблемът
Както някои от вас знаят, WordPress автоматично показва своята версия между <head> таговете в кода. Това е доста дребен проблем ако блога ви винаги е up-to-date с версията, но ако по някаква причина не сте с най-новата версия, WordPress все още го показва и хакерите могат да научат тази важна информация за вашият блог доста лесно.
Решението
Поставете следният код във вашият functions.php между <?php и ?> и запазете файла:

remove_action('wp_head', 'wp_generator');

Обяснение на кода
За да прави дадени действия, WordPress използва механизма наречен „hooks“, който ви позволява да „закачите“ която и да е функция към друга. Функцията wp_generator, която показва версията на WordPress е „закачена“. Можем да премахнем въпросният hook и да предотвратим неговото стартиране, като използваме remove_action() функцията.

Искрено се надявам статията ми да ви е харесала и помогнала, ще се радвам да коментирате тук в блога, да retweet-нете или публикувате във Facebook статията или пък да гласувате за нея в Svejo от ТУК.
Благодаря предварително🙂

Posted on октомври 16, 2010, in Cool Fixes, Tutorials and tagged , , , . Bookmark the permalink. има 1 коментар.

  1. Браво за урока!

Вашият коментар

Попълнете полетата по-долу или кликнете върху икона, за да влезете:

WordPress.com лого

You are commenting using your WordPress.com account. Log Out / Промяна )

Twitter picture

You are commenting using your Twitter account. Log Out / Промяна )

Facebook photo

You are commenting using your Facebook account. Log Out / Промяна )

Google+ photo

You are commenting using your Google+ account. Log Out / Промяна )

Connecting to %s

%d bloggers like this: