Что такое ошибка 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 и в разделе “Плагины” обновить все плагины до последней версии.

плагины в WordPress

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

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

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

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

47
18598