
Безопасность WordPress – один из самых слабых факторов среди начинающих блогеров. При неконтролируемой установке WordPress существует довольно много потенциальных уязвимостей, которые остаются без внимания. В большинстве руководств по установке WordPress объясняется, как быстро и легко развернуть WordPress за считанные минуты. Но упускаются некоторые важные факторы безопасности. Например, просмотр каталогов и использование имени пользователя «admin» считаются серьезными лазейками в системе безопасности. Сегодня мы рассмотрим 10 фрагментов кода доступа, которые помогут повысить безопасность вашего блога WordPress. Прежде чем мы начнем, давайте быстро посмотрим, что такое файл htaccess.
Что такое .htaccess файла?
Файл htaccess – это необязательный файл конфигурации для интерпретации веб-сервером Apache для каждого каталога. В этом файле можно хранить различные настройки, такие как: защита паролем каталога, блокировка IP-адресов, блокировка файла или папки от общего доступа и т. Д. Традиционно файл .htaccess находится в каталоге базовой установки WordPress. По умолчанию сохраняет структуру постоянных ссылок.
НАКОНЕЧНИК: Перед началом обучения обязательно сделайте резервную копию текущего файла .htaccess (если он есть) в облачном хранилище, например Dropbox. Это нужно для возврата к последнему работающему файлу .htaccess, если определенный фрагмент кода нарушит работу вашего сайта. Давайте начнем.
1. Блокируйте плохих ботов

Одно из лучших применений файла .htaccess – это его способность запрещать доступ к вашему сайту с нескольких IP-адресов. Это полезно при блокировке известных спамеров и других источников подозрительного или злонамеренного доступа. Код такой:
# Block one or more IP address. # Replace IP_ADDRESS_* with the IP you want to block order allow,deny deny from IP_ADDRESS_1 deny from IP_ADDRESS_2 allow from all
Где IP_ADDRESS_1 – это первый IP-адрес, которому вы хотите запретить доступ к своему сайту. Вы можете добавить столько IP-адресов, сколько захотите. Независимо от того, какие пользовательские агенты (браузеры) используют эти IP-адреса, они не смогут получить доступ к одному файлу с вашего сервера. Веб-сервер автоматически запрещает любой доступ.
2. Отключить просмотр каталогов

Это один из самых серьезных недостатков безопасности на сайте WordPress. По умолчанию веб-сервер Apache разрешает просмотр каталогов. Это означает, что все файлы и папки в корневом каталоге (иногда называемом домашним каталогом) веб-сервера могут быть перечислены и доступны посетителю. Вы не хотите этого, потому что не хотите, чтобы люди просматривали ваши медиа-загрузки, темы или файлы плагинов.
Если я случайным образом выберу 10 личных или бизнес-сайтов под управлением WordPress, для 6-8 из них просмотр каталогов не будет отключен. Это позволяет любому легко почувствовать запах wp-content / uploads папка или любой другой каталог, кроме каталога по умолчанию index.php архив. Фактически, вы видите снимок экрана с одного из сайтов моего клиента, прежде чем рекомендовать решение. Фрагмент кода для отключения просмотра каталогов:
# Disable directory browsing Options All -Indexes
3. Разрешить только выбранные файлы из wp-content

Откуда ты знаешь WP-содержание Папка содержит большинство ваших тем, плагинов и все ваши медиа-загрузки. Вы, конечно, не хотите, чтобы люди имели доступ без ограничений. Помимо отключения просмотра каталогов, вы также можете запретить доступ ко всем типам файлов, кроме некоторых. По сути, вы можете выборочно разблокировать такие файлы, как JPG, PDF, DOCX, CSS, JS и т. Д. и отрицаю их от остальных. Для этого вставьте этот фрагмент кода в свой файл .htaccess:
# Disable access to all file types except the following Order deny,allow Deny from all Allow from all
Вам нужно создать новый файл .htaccess с кодом и вставить его в WP-содержание связующее. Не помещайте это в базовый каталог установки; иначе это не сработает. Вы также можете добавить в список файлы любого типа, добавив «|» после «rar». Приведенный выше список содержит необходимые файлы: XML, CSS и JavaScript, распространенные изображения и форматы документов и, наконец, наиболее часто используемые форматы файлов. ,
4. Ограничьте любой доступ к wp-includes.

папка wp-include Он содержит только файлы, которые строго необходимы для запуска основной версии WordPress, без плагинов или тем. Помните, что тема по умолчанию все еще находится в wp-content / theme каталог. Следовательно, ни один посетитель (включая вас) не должен требовать доступа к содержанию сор-включают связующее. Вы можете отключить доступ с помощью следующего фрагмента кода:
# Block wp-includes folder and files 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)
5. Разрешить доступ к wp-admin только выбранным IP-адресам.

WP-администратора Папка содержит файлы, необходимые для запуска панели управления WordPress. В большинстве случаев вашим посетителям не нужен доступ к панели управления WordPress, если они не хотят зарегистрировать учетную запись. Хорошая мера безопасности – разрешить доступ только нескольким выбранным IP-адресам. WP-администратора связующее. Вы можете разрешить IP-адреса людей, которым нужен доступ к панели управления WordPress: редакторов, участников и других администраторов. Этот фрагмент кода разрешает доступ только к фиксированным IP-адресам. WP-администратора папку и запрещает доступ для остального мира.
# Limit logins and admin by IP order deny,allow deny from all allow from 302.143.54.102 allow from IP_ADDRESS_2
Обязательно создайте новый файл .htaccess и вставьте его в папку wp-admin, а не в базовый каталог установки. В последнем случае никто, кроме вас, не сможет перемещаться по вашему сайту, даже поисковые системы! Вы точно этого не хотите. К недостаткам этой меры можно отнести следующие:
- Если ваш сайт позволяет или продвигает Регистрация нового пользователя, было бы почти невозможно отслеживать количество пользователей. Например, на WPExplorer, если вы хотите загрузить наши потрясающие бесплатные темы, вам необходимо зарегистрироваться.
- Люди с динамические IP-адреса (Большинство пользователей широкополосного доступа ADSL, использующих протоколы PPP или PPPoE) меняют свой IP-адрес каждый раз, когда они выходят из системы и входят в систему своего провайдера. Конечно, было бы непрактично отслеживать все эти IP-адреса и добавлять их в файл htaccess.
- Пропускная способность мобильной связи: Если вы используете 3G или 4G, ваш IP-адрес зависит от текущей вышки сотовой связи, к которой вы подключены. Допустим, вы путешествуете – ваш IP-адрес будет постоянно меняться каждые пару миль от исходной точки. Опять же, отслеживать файл htaccess практически невозможно.
- Публичные точки доступа Wi-Fi: Использование учетных данных при подключении к Интернету через общедоступную точку доступа Wi-Fi является большим запретом, поскольку ребенок с небольшим программным обеспечением может извлечь каждый набираемый вами символ. Не говоря уже о том, что каждая точка доступа Wi-Fi будет иметь уникальный IP-адрес.
К счастью, все эти недостатки (кроме первого) можно исправить с помощью VPN. Если вы настроите свою VPN для подключения только с одним IP-адресом, вы можете добавить его в свой файл htaccess, и все ваши проблемы будут решены.
6. Защитите wp-config.php и .htaccess от всех.

WP-config.php Файл содержит самые конфиденциальные учетные данные для входа на ваш сайт WordPress. Он содержит имя базы данных и учетные данные для доступа, а также различные другие важные данные, среди других настроек. Ни при каких обстоятельствах вы не хотите, чтобы другие люди искали этот файл. И, конечно, вы хотите отключить публичный доступ к источнику всей этой безопасности: .htaccess сам файл. Вы можете отключить доступ к WP-config.php со следующим кодом:
# Deny access to wp-config.php file order allow,deny deny from all
Чтобы запретить доступ ко всем файлам htaccess (помните, что некоторые из них могут находиться в wp-admin и других папках), используйте этот фрагмент кода:
# Deny access to all .htaccess files order allow,deny deny from all satisfy all
7. Запретить ссылку на изображение

Один из лучших способов взлома файлов .htaccess, он отправляет парсеры контента с хвостом между ног. Когда кто-то использует изображение вашего сайта, его пропускная способность расходуется, и большую часть времени они даже не получают кредит. Этот фрагмент кода устраняет эту проблему и отправляет это изображение при обнаружении горячей ссылки.
# Prevent image hotlinking script. Replace last URL with any image link you want.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourwebsite.com (NC)
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourotherwebsite.com (NC)
RewriteRule .(jpg|jpeg|png|gif)$ http://i.imgur.com/MlQAH71.jpg (NC,R,L)
8. Включите кеширование браузера.

Этот взлом .htaccess, также известный как кеширование на стороне клиента, позволяет вам включить рекомендуемые параметры кеширования браузера для вашего сайта WordPress. Вы также можете использовать его в других проектах: HTML-сайты и т. Д.
# Setup browser caching ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days"
9. Перенаправление на страницу обслуживания

Когда вы переносите веб-хосты или выполняете какое-либо обслуживание, всегда рекомендуется создавать статический HTML-файл, предназначенный для обслуживания, чтобы информировать ваших посетителей о том, что веб-сайт подвергается обновлению или обслуживанию. Просто создайте файл maintenance.html (или любое другое имя файла) и загрузите его в базовый каталог установки WordPress. Вставьте следующий фрагмент в свой файл .htaccess. После завершения операции не забудьте удалить или закомментировать эти строки, чтобы вернуться к общей операции. Вы можете прокомментировать, добавив “#” в начале каждой строки.
# Redirect all traffic to maintenance.html file
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123.123.123.123
RewriteRule $ /maintenance.html (R=302,L)
10. Пользовательские страницы ошибок

Вы также можете использовать файл .htaccess для настройки простых в использовании пользовательских страниц ошибок для таких ошибок, как 403, 404 и 500. После того, как вы подготовили страницу с ошибкой, скажем error.html, загрузите ее в базовый каталог установки WordPress. Затем добавьте следующий фрагмент кода в файл .htaccess, чтобы включить настраиваемую страницу ошибки:
# Custom error page for error 403, 404 and 500 ErrorDocument 404 /error.html ErrorDocument 403 /error.html ErrorDocument 500 /error.html
Вывод:
Сегодня мы узнали о некоторых из лучших хаков htaccess для улучшения вашего сайта WordPress. Я предлагаю вам тестировать каждый модуль один за другим, создавая резервную копию файла .htaccess до и после тестирования каждого модуля. Это потому, что файл .htaccess очень важен. Отсутствует или неуместен символ “#”. Это может нарушить целостность вашего сайта. Если вы часто заходите на панель управления WordPress на ходу, рекомендуется не включать выборочные IP-адреса для своих WP-администратора связующее.
Что вы думаете об этой публикации? Как вы думаете, стоит ли редактировать файл htaccess? Знаете ли вы лучший совет по безопасности? Мы были бы рады получить известия от вас.
