Что такое ошибка 403 Forbidden и как ее исправить

Все мы, блуждая по просторам интернета, порой натыкаемся на различные ошибки при загрузке сайтов – и одной из таких ошибок является 403 Forbidden (доступ к ресурсу запрещен). 

Как правило, «четырехсотые» коды состояния описывают проблемы на стороне клиента: обычно они возникают, когда браузер запрашивает ресурс, к которому нет доступа. Однако на практике бывает по-разному. 

В этой статье мы рассмотрим, что значит ошибка 403 (Forbidden error), из-за чего она появляется, как ее исправить и надо ли исправлять.

Что такое ошибка 403

403 Forbidden – это код состояния HTTP, который указывает на то, что сервер понял запрос, но отказывается его выполнить из-за ограничений.

Другими словами, ошибка 403 Forbidden означает, что у пользователя нет прав доступа к запрашиваемому ресурсу или действию.

Ошибка на стороне пользователя

Обычно ошибка 403 на стороне пользователя указывает на:

  • Ограничение доступа. Веб-сервер может быть настроен для запрета доступа к определенным файлам и директориям. Если пользователь пытается получить доступ к таким ресурсам, сервер отправляет код 403.
  • Наличие аутентификации. Некоторые веб-страницы могут требовать аутентификации для доступа. Если пользователь не предоставляет правильные учетные данные, например, логин и пароль, сервер может отправить коды 403 или 401.
  • Ограничение для IP-адреса. Веб-сервер может быть настроен для ограничения доступа к определенным IP-адресам или диапазонам IP-адресов.

Ошибка на стороне сервера

Ошибка 403 может также возникать из-за различных причин со стороны сервера:

  • Ошибка в файле index. Этот документ указывает на главную страницу сайта, название и формат которого должны быть определены правильно. Вместе с этим важно убедиться, что файл находится в корневой папке сайта, иначе это также может вызвать ошибку 403.
  • Проблемы с плагинами. С такой проблемой часто встречаются владельцы CMS WordPress из-за устаревшего ПО или некорректной работы кода расширений. Чтобы убедиться, действительно ли ошибка связана с такой неполадкой, отключите все плагины. Сделать это можно через файловый менеджер, в директории wp-content найдите директорию plugins и переименуйте ее на любое другое имя. Если проблема исчезнет, то виной этому один из плагинов.
  • Ошибка в файле .htaccess. Если вы используете Apache Web Server, то попробуйте изменить название файла .htaccess на любое другое, например, .htaccess_old. Такое действие поможет понять, является ли файл .htaccess причиной ошибки или нет. Если же код HTTP 403 появляется из-за .htaccess, то обратите внимание на директивы: deny, allow, require, RewriteRule – в них может быть допущена ошибка.

Теперь рассмотрим варианты решения некоторых популярных причин возникновения 403 ошибки.

Отсутствие файла index.php или index.html

Файл index.(php/html) – это общепринятое название основного файла сайта, с которого начинается обработка запроса к сайту. Если этого файла нет, то сайт вернет ошибку 403 при загрузке страницы. На самом деле точный код ошибки зависит от настроек веб-сервера, но в большинстве типовых конфигураций используется 403 код.

Для решения этой проблемы нужно убедиться в том, что при разворачивании сайта не потерялся файл index и что в его названии нет ошибок. 

Для проверки перейдите в раздел “Сайты” в панели управления, нажмите на кнопку “Перейти к файлам сайта” напротив нужного сайта. В открывшемся файловом менеджере перейдите в папку public_html и проверьте наличие файла index.php или index.html.

Возможны ситуации, когда основной файл может называться отлично от index. В этом случае необходимо проверить наличие директивы DirectoryIndex в файле .htaccess. Директива DirectoryIndex задает название основного файла сайта, который будет искать веб-сервер при получении запроса. Если директива присутствует в файле .htaccess, то название основного файла должно соответствовать ее значению.

Файлы сайта находятся не в корневой директории

У каждого сайта есть корневая директория, в которой веб-сервер ищет файлы сайта при обращении к нему. В рамках виртуального хостинга корневая директория называется public_html и находится внутри директории сайта. На VPS корневая директория также может называться public, www или html, это зависит от настроек веб-сервера или используемой панели управления.

Для решения проблемы необходимо перейти в раздел “Файловый менеджер” в панели управления, затем перейти в папку сайта и проверить, что файлы сайта загружены в директорию public_html, а не лежат рядом с ней или внутри поддиректорий, например, public_html/site. Если файлы сайта расположены некорректно, то вы можете переместить их, воспользовавшись функционалом файлового менеджера.

Прямой запрет на доступ к файлам сайта внутри конфигурационного файла веб-сервера

Зачастую такой запрет доступа на сайт встречается из-за некорректной настройки или вирусного заражения сайта. В данном случае необходимо проверить содержимое файла .htaccess.

С анализом содержимого файла .htaccess вам может помочь наша статья. Если вы не уверены в своих действиях, то вы можете обратиться в техническую поддержку.

Некорректная работа плагинов в WordPress

Если ваш сайт сделан на CMS WordPress, то причиной возникновения 403 ошибки веб-сервера может быть некорректная работа плагинов.

Самым простым решением проблемы будет перейти в панель администратора WordPress и в разделе “Плагины” обновить все плагины до последней версии.

После обновления проверьте, работает ли сайт. Если нет, отключите плагины. Если это помогло, значит, один из них нарушает работу сайта. Отключайте плагины по очереди, пока не найдете плагин-виновник.

Если же из-за 403 ошибки вы не можете попасть в панель администратора WordPress, то:

  1. Перейдите в раздел “Сайты” в панели управления.
  2. Нажмите на кнопку “Перейти к файлам сайта” напротив нужного сайта.
  3. В открывшемся файловом менеджере перейдите в директорию public_html, а в ней перейдите в директорию wp-content.
  4. Отключите все плагины, переименовав директорию plugins. Сделать это вы можете, нажав правой кнопкой мыши на директорию и выбрав пункт “Переименовать” в меню.
  5. Проверьте работу сайта. Если он заработал, то один из плагинов нарушает работу сайта.
  6. Переименуйте директорию обратно в plugins и перейдите в нее.
  7. По очереди переименовывайте папки плагинов и проверяйте работу сайта. Переименование папки плагина отключает его. Если сайт заработает, значит, вы нашли проблемный плагин и можете обновить его или заменить в панели администратора WordPress.

Мы рассмотрели частые причины возникновения ошибки 403 Forbidden и способы устранения некоторых из них. Если у вас возникнут проблемы с решением 403 ошибки, вы можете обратиться в техническую поддержку, а если вы хотите обсудить эту статью, будем рады вам в нашем Telegram-чате.

4
958