Защита wordpress с помощью файла htaccess.

Защита блога

Сегодня мы рассмотрим, как обезопасить сайт на CMS WordPress при помощи htaccess.
htaccess позволят задавать большое количество дополнительных параметров и разрешений для работы веб-сервера.
Есть, конечно множество плагинов для wordpress, обеспечивающих безопасность, но безопасность лишней не бывает. Обязательно сохраните копию файла, перед внесением правок!!!
Если вы недавно создали сайт и пока посещаемость у вас невысокая, то шансов, что вас взломают меньше. Но не стоит забывать, что wordpress является самой распространенной CMS, соответственно самой атакуемой. К слову сказать, мало кто из новичков беспокоится о том, что-бы изменить адресс входа в админ-панель, так же, как и логин у них admin. Собственно, если вы защитили ваш сайт от банального взлома через админ-панель, то не стоит забывать о других угрозах. Что-бы защитить файл htaccess, нужно прописать в нем следующий код:

<Files ~ «^.*\.([Hh][Tt][Aa])»>
order allow,deny
deny from all
satisfy all
</Files>

Для защиты файла robots.txt вставляем этот код и не забываем прописать адрес вашего сайта, вместо site.ru:

RewriteBase /
RewriteCond %{REQUEST_URI} !^/robots.txt$ [NC]
RewriteCond %{REQUEST_URI} robots\.txt [NC]
RewriteRule .*http://site.ru/robots.txt [R=301,L]

Для защиты очень важного файла wp-config.php:

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

Защита от XSS — атак:

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]

Что-бы заблокировать любой скрипт для base64_encode данных в URL:

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]

Блокировать любой сценарий, который включает в себя тег <script> в URL-адрес:

RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]

Блокировка любого скрипта, устанавливающего глобальные переменные PHP через URL-адрес:

RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

Блокировать любой скрипт для изменения _REQUEST переменных через адресную строку:

RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})

Предотвращение наиболее распространенных SQL-инъекций:

RewriteCond %{query_string} concat.*\( [NC,OR]
RewriteCond %{query_string} union.*select.*\( [NC,OR]
RewriteCond %{query_string} union.*all.*select [NC]
RewriteRule ^(.*)$ index.php [F,L]

И в конце еще раз напомню: не забудьте сохранить оригинальный файл.

Метки: ,
Опубликовано в Гид для начинающих
1 Comment » for Защита wordpress с помощью файла htaccess.
  1. Артем:

    Спасибо. Полезная информация.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*