Techbear
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.
Файл .htaccess (Hypertext Access, Доступ к гипертексту) — это конфигурационный файл сервера, который находится в корневой папке сайта.
В этом файле можно сделать дополнительные настройки для защиты от хакеров и спама, например, запретить доступ к определенному файлу или папке, установить пароль на папку, добавить редиректы каких-то запросов, заблокировать ip и так далее.
Это мощный инструмент, который можно использовать для увеличения безопасности сайта.
В этой статье вы узнаете, что можно добавить в файл .htaccess для увеличения безопасности сайта.
Содержание:
Как создать .htaccess
Куда добавлять изменения
Как редактировать файл .htaccess
Файл .htaccess находится в корневой папке сайта. Точка перед названием файла означает, что файл невидим, и вы сможете его видеть если включите настройку «Показывать скрытые файлы».
Файл используется для настройки сервера, типичное применение файла:
В Вордпрессе этот файл используется для создания красивых постоянных ссылок (Настройки — Постоянные ссылки — Общие настройки), и создается автоматически когда эта функция включается.
Если вы уже знаете, для чего нужен этот файл, переходите к списку.
.htaccess довольно чувствительный файл, поэтому одна ошибка в синтаксисе может положить весь сайт. Скопируйте файл на компьютер, если появится ошибка, вы сможете вернуться к первоначальному варианту.
В зависимости от вашей установки Вордпресс, у вас может не быть файла .htaccess, поэтому его нужно создать. Вы можете создать его на компьютере и перенести на сервер с помощью ftp-клиента, или создать этот файл в файл менеджере на хостинг-панели.
Если ваш сервер или компьютер не позволяет создать файл с таким именем, создайте файл htaccess.txt, перенесите его на сервер и на сервере переименуйте его в .htaccess.
Начиная с версии 4.2 все установки Вордпресс имеют красивые постоянные ссылки по умолчанию, поэтому файл .htaccess в этих версиях создается автоматически. В новый пустой файл добавьте стандартную запись, которую делает Вордпресс.
Для одиночной установки:
Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся в подпапках:
Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся на субдоменах:
Когда вы создаете новый .htaccess файл, дайте этому файлу права доступа как минимум 640 для защиты от возможных атак. Нормальные права для этого файла — 600. Если файл уже есть, проверьте, чтобы права доступа были не выше 640.
Строки, начинающиеся с тега #, являются комментариями и не являются правилами для исполнения .htaccess.
Добавляйте свои комментарии к вашим правилам.
Когда вы добавляете свои правила, добавляйте их выше или ниже стандартных правил Вордпресс.
Не добавляйте и ничего не редактируйте между строками # BEGIN WordPress
и # END WordPress
. Для мультисайт установок таких комментариев нет, но не добавляйте и не редактируйте ничего в коде для мультисайт установок.
Если вы что-то исправили в этом коде, Вордпресс должен автоматически вернуть первоначальный вариант, но лучше ничего не менять. В крайнем случае у вас должна остаться копия файла, которую вы можете вернуть на сервер.
Добавляйте свои правила выше или ниже стандартных правил Вордпресс по-одному, пишите к ним комментарии, сохраняйте и проверяйте изменения на сайте.
Если у вас Nginx сервер, здесь вы найдете htaccess — nginx конвертер.
Вы можете редактировать .htaccess из вашей хостинг-панели, или через ftp-клиент.
В первом случае зайдите на вашу хостинг-панель, запустите файл менеджер, найдите файл .htaccess и откройте его как обычный текстовый файл.
Если вы пользуетесь ftp-клиентом — зайдите на свой сервер, найдите .htaccess в корневой папке сайта, скопируйте его на свой компьютер, отредактируйте, сохраните и закачайте обратно на сервер. Удалите старый файл с сервера, или замените старый на новый.
Запретите доступ к файлам wp-config.php, htaccess, php.ini и логам ошибок. Добавьте это правило, чтобы запретить доступ к этим файлам:
У вас может не быть файла php.ini. Вместо него может быть файл php5.ini или php7.ini. Если у вас есть файл php5 или php7, замените php.ini
на php5.ini
или php7.ini
. Если файла php.ini нет вообще, уберите php.ini|
из правила.
Если вы хотите запретить доступ только к файлу wp-config.php, добавьте это правило:
Если вы хотите запретить доступ ко всем файлам .htaccess на сайте, добавьте этот код:
Если вы используете статический IP, вы можете запретить доступ к странице входа или панели администратора:
Первые две строчки перенаправляют посетителя с неавторизованного IP на страницу с ошибкой 404. Это правило не будет вызывать цикличные редиректы, ваш сайт не будет выглядеть как зависший.
Замените /путь-к-вашему-сайту/
в двух первых строчках на свой адрес.
Замените IP Адрес 1
, IP Адрес 2
и IP Адрес 3
на те IP адреса, с которых вы хотите иметь доступ к страницам wp-login.php и wp-admin.
Если вам нужен только один IP адрес, удалите строки 9 и 10, если вам нужно больше адресов, добавьте нужное количество строк.
Если вы или другие пользователи имеют динамические IP (или Мультисайт), используйте следующее правило:
Замените /путь-к-вашему-сайту/
и /ваш-сайт.ru/
на свой адрес.
Хакеры используют ботов, чтобы пытаться попасть в админку Вордпресс. Это правило определяет, что только те пользователи, которые вручную набрали wp-login.php
или wp-admin
в браузере, получат доступ к этим страницам.
Этот способ не защитит от хакеров, которые вручную набирают адрес страницы входа на сайт, но значительно уменьшит количество автоматических брут-форс атак (перебор паролей).
Еще один способ — создайте файл .htaccess в папке wp-admin
. Это правило разрешает доступ к папке только указанным ip:
Замените IP Адрес 1
и IP Адрес 2
на свои IP.
По умолчанию сервер Apache разрешает доступ к директориям сайта. То есть любой посетитель сайта может открыть любую папку и запустить любой файл внутри этой папки, если введет в браузере нужный адрес, например, ваш-сайт.ru/wp-content/uploads/
Если эти папки будут доступны для просмотра, злоумышленник может заразить какие-то файлы на вашем сервере. Чтобы запретить доступ к папкам, добавьте это правило в .htaccess:
В папке wp-content находятся темы, плагины и медиа контент. Кроме доступа к директориям сайта, можно разрешить доступ только к некоторым типам файлов, например, css, js, jpg, pdf, doc и так далее. Для этого создайте в папке wp-content новый файл .htaccess и добавьте это правило:
Не вставляйте этот код в файл .htaccess в корневой папке. Если вам нужно добавить в исключения другие типы файлов, добавьте их после |odf
.
Вы можете полностью запретить доступ к сайту с подозрительных или вредоносных ip:
Замените IP Адрес 1
, IP Адрес 2
и IP Адрес 3
на ip-адреса, которым вы хотите запретить доступ к сайту.
Закройте доступ к PHP файлам темы и плагинов. Хакер может внедрить вредоносный код и заразить сайт. Защита PHP файлов — важная мера предосторожности.
Добавьте этот код, чтобы заблокировать доступ неавторизованных пользователей к php файлам темы и плагинов:
Если хакеру удастся загрузить вредоносные файлы на сервер, он не сможет их запустить, потому что это правило запрещает их исполнение. Но вам все равно нужно будет найти и удалить инфицированные файлы.
Чем больше препятствий взломщику вы установите, тем ниже вероятность что ваш сайт взломают.
Обычно хакеры загружают бэкдоры в папку /wp-content/uploads/
, поэтому заблокируйте исполнение всех PHP файлов в этой папке:
Реклама
Простой способ выгодно купить полис
Многие хакеры пытаются изменить переменные Вордпресс GLOBALS и _REQUEST с целью внедрить вредоносный код. Добавьте этот код, чтобы хакеры не могли изменять существующие файлы:
В папке wp-includes хранятся файлы ядра Вордпресс, поэтому доступ к этой папке лучше полностью закрыть:
Вы можете отключить показ версии PHP в заголовках ответов сервера. Скорее это относится к серверу, чем к сайту, но влияет на безопасность сайта.
Добавьте это правило в .htaccess:
Если не получилось, попросите техподдержку вашего хостинга настроить сервер, чтобы он не показывал информацию о версии PHP.
XML-RPC — это API интерфейс, который используется Вордпресс для удаленного доступа к сайту, для трекбеков и пингбеков и используется плагином Jetpack. Оставьте его включенным, если вы пользуетесь чем-то из этого, и выключите, если не пользуетесь, так как хакеры могут перебирать пароли тысячами через файл xmlrpc.php.
Даже если вы используете сложные пароли, брут-форс атаки расходуют большое количество ресурсов сервера. Если ваш сайт находится на недорогом хостинге, в результате такой атаки сайт может зависнуть из-за использования всех ресурсов сервера.
Чтобы отключить XML-RPC, добавьте это правило:
Когда посетитель вводит в строку адреса ваш-сайт.ru/?author=1
, он перенаправляется на страницу пользователя с ID = 1.
Посетитель может определить ID всех пользователей, у которых есть опубликованные материалы на сайте. Этот процесс называется нумерацией пользователей.
Если хакер узнает ID пользователя, который также является логином пользователя, то теперь злоумышленнику остается только узнать пароль пользователя.
Даже если пользователи используют сложные пароли, злоумышленнику лучше не знать ID пользователей:
Это правило требует использование SSL сертификата, выданного домену, который указан в 3-ей строчке.
Замените ваш-сайт.ru
в двух последних строчках на свой домен.
Когда посетитель использует URL картинки, размещенной на вашем сайте и публикует ссылку на эту картинку на своем сайте, вместо того, чтобы хранить картинку на своем сайте, он нагружает ваш сервер и ваш канал интернета. Это называется хотлинкинг.
Чтобы отключить хотлинк картинок, используйте это код:
Замените ваш-сайт\.ru
на ваш адрес.
Здесь находится он-лайн генератор правил для файла .htaccess.
Еще несколько снипетов для .htaccess в Максимальной безопасности Вордпресс.
Некоторые из этих способов могут уже использоваться на вашем сайте, например, права доступа к файлам и папкам на сервере, или в плагинах безопасности. С точки зрения оптимизации сайта лучше оставить включенные опции только в одном месте.
Читайте также:
Надеюсь, статья была полезна. Поделитесь в комментариях, что вы добавляете в .htaccess.
Сайт для тех, кто хочет использовать Вордпресс по максимуму, но не хочет разбираться в коде.
Что мне вообще не понятно ,делаю все как описано, а меня все равно перебрасывает на страницу 404 (
Подскажите, пожалуйста, как настроить в htaccess редирект для УРЛ с заглавными буквами на УРЛ с обычными. Например, с адреса https://site.ru/Туфли-Женские перебрасывало на https://site.ru/туфли-женские.
Подскажите, пожалуйста, обязательно ли закрывать wp-includes в .htaccess, если существует запрет в robots?
Не обязательно, но желательно.
Некоторые темы или плагины могут использовать выполнение PHP файлов в этой папке для создания изображений или хранения временных данных.
Поэтому если будете закрывать, то проверьте, что сайт работает как раньше.
Отличная подборка примеров кода. Кое что взял для себя. Ещё-бы статейку написали как объединять несколько вариантов в которых присутствует: RewriteEngine On — это для тех чайников которые собирают по крупицам разные примеры кода и делают свой htaccess файл. В большинстве случаях у них получается киш-миш.
Спасибо за отзыв!
Больше снипетов в Руководстве по безопасности Вордпресс.
что значит /путь-к-вашему-сайту/ ?
site.ru/ ?
https://site.ru ?
/public_html/… ?
статья хорошая но в некоторых местах недопонимание приходит
/public_html/…
Автору спасибо и респект!