У кого уже ломали сайт на WordPress, знают, что хакеры, как правило, изменяют файлы .htaccess и перенаправляют весь трафик от Google или Yandex на другой URL-адрес. Обычно инфицированный php закачивают в папку wp-content / uploads. Если вы используете VPS для вашего сайта, если это возможно, отключите .htaccess в конфигурации Apache и используйте «Дополнительные директивы Apache». Местоположение этой функции можно найти в панели управления вашего хостинга.
Отключив .htaccess, вы улучшите безопасность и производительность вашего сервера Apache. Если же вы находитесь на общедоступном хостинге, у вас нет возможности отключить его, вам придется защищать свой сайт на WordPress самостоятельно.
- Отключить .htaccess с помощью “AllowOverride None”, это увеличит безопасность и производительность вашего сайта.
- Всегда делайте бэкап вашего .htaccess перед внесением в него серьезных изменений.
- .htaccess не единственное звено в безопасности WordPress, всегда используйте последнюю версию WordPress и только проверенные плагины.
- Перед размещением вашего сайта на какой-либо хостинг всегда обращайте на функции безопасности, которые вам предлагают.
Отключение выполнения PHP скриптов в папке Uploads
Обычно хакеры копируют зараженные файлы или скрипты в директорию wp-content/uploads. В этой папке нет смысла хранить и тем более выполнять .php файлы. Создайте файл .htaccess в папке /wp-content/uploads/ и скопируйте код. Этот код отключит выполнение PHP внутри папки.
# Kill PHP Execution <Files *.php> deny from all </Files>
Защита wp-config.php
Для защиты файла wp-config.php от не авторизованных пользователей, скопируйте код и вставьте в .htaccess файл в корне сайта.
<files wp-config.php> order allow,deny deny from all </files>
Защита .htaccess от не авторизованных пользователей
Для защиты файла .htaccess от несанкционированного доступа, скопируйте и вставьте код в .htaccess .
<files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>
Отключение просмотра каталогов в WordPress
Нет никакого смысла оставлять каталоги вашего сайта видимыми для всего мира, это позволяет хакерам видеть структуру вашего сайта, плюс поисковые системы будут это все индексировать.
Options -Indexes
Блокировка выполнения межсайтовых скриптов (XSS)
Следующий фрагмент кода защищает ваш сайт от некоторых распространенных XSS атак , а именно от инъекций и скриптов. Если вы не используете XSS, рекомендуется отключить его.
# Blocks some XSS attacks <IfModule mod_rewrite.c> RewriteCond %{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] </IfModule>
Ограничение доступа в WP Includes
Папка /wp-includes/ содержит ядро WordPress. Для ограничения доступа к папке скопируйте и вставьте код в файл .htaccess.
# Blocks all wp-includes folders and files <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [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] </IfModule>
Ограничение прямого доступа к PHP файлам плагинов и тем
Как упоминалось ранее, нет причин для того, чтобы кто-либо еще имел доступ к файлам плагина или темы, отключение прямых вызовов — хорошая политика безопасности.
# Restricts access to PHP files from plugin and theme directories 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\.php RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/ RewriteRule wp-content/themes/(.*\.php)$ - [R=404,L]
Доступ с определенных IP
Если вы администрируете сайт только с одного компьютера, имеет смысл ограничить доступ к административной части WordPress по IP. Для этого вам нужно добавить небольшой фрагмент кода в файл .htaccess в каталог wp-admin. Этот метод не рекомендуется, если у вас нет статического IP-адреса.
order deny,allow allow from [insert your IP address] deny from all
А если у меня не Сервер Апач, а сервер Бегет, то мне тоже это делать???? Я так и не решил, какие настройки делать в .htaccess для вордпресс. В разных статья разное советуют. И везде этот Апач. А у меня не Апач. Что тогда делать, если не Апач?
Спасибо !