Рассказали, что приводит к появлению ошибки 403 Forbidden и как исправить эту ситуацию на стороне пользователя и владельца ресурса.
Ошибка 403 (Forbidden Error) появляется, когда веб-сервер принял и обработал запрос, но выполнять его запрещено и сервер не отправляет HTML-код веб-страницы клиенту. Кстати, так совпало, что мой сегодняшний интернет-сёрфинг начался с ошибки 403 — она встречается довольно часто. Так выглядит ошибка «access denied» в окне браузера:
В инструментах разработчика браузера «Хром» видно следующее:
Рассмотрим возможные причины ошибки и рассказываем о способах, как её исправить на серверной стороне и для обычного пользователя.
Причины появления ошибки 403
403 Forbidden Error буквально означает «ошибка запрета»: это временное приостановление или полный запрет доступа к ресурсу. При этом целевая страница будет недоступна, а вместо неё вы увидите страницу-заглушку. Она может быть типовой как в примере выше, или с уникальным дизайном в стиле всего веб-сайта — суть её от этого не меняется. Разделим её причины на три группы:
- первопричина ошибки — на стороне пользователя,
- некорректная работа сервера,
- доступ запрещён по инициативе провайдера или другой третьей стороны.
Если ошибка на стороне пользователя
Пользователю ограничен доступ к данным
Сервер ограничивает или запрещает доступ к определённым ресурсам. Когда посетитель сайта пытается загрузить запрещённые файлы/папки, то получает ошибку 403.
Не пройденная аутентификация
Часть данных может быть доступна только после успешной аутентификации. Неправильно введённые логин и (или) пароль или отказ предоставить учетные данные и пройти аутентификацию бывают причиной ошибки.
Запрет по IP-адресу
Администратор сервера мог по разным причинам заблокировать доступ для пользователей с определёнными IP-адресами. Часто встречается ситуация, когда доступ через ВПН-сервисы ограничен, и все IP-адреса, которые уже «засветились», заносятся в список запрещённых. Или наоборот, доступ имеют только определённые IP, а всем остальным отправляется ошибка 403.
Блокировка пользователей из определённого региона
Такая блокировка также происходит по диапазону IP-адресов, но в этом случае заблокированными оказываются запросы из целого региона. Чаще всего играют роль забота о безопасности (например, для сайтов правительственных и других государственных организаций) или следование правовым нормам (например, защита авторских и других прав).
Закрыты файлы определённых типов
Файлы с определёнными расширениями бывают закрыты для обычных пользователей. Ошибка 403 при попытке открыть или загрузить файл с сайта может быть связана с таким правилом.
Запрет инициирован сетевым экраном или антивирусом
Сетевые экраны и антивирусное программное обеспечение часто мешают доступу к сетевым ресурсам.
Доступ временно запрещён
Сервер выдаёт «error 403», если пользователь инициирует загрузку ресурса в запрещённое время. Например, в период, отведённый на технические работы, или доступ к веб-странице регулярно ограничен в определённое время суток.
Запрет связан с ID пользователя
Ресурсы с персонализованным контентом предоставляют или запрещают доступ, опираясь на пользовательский ID. Если ввести в адресную строку URL страницы, просмотр которой не разрешён — можно получить ошибку 403.
Работа системы безопасности веб-сайта
Запрос на доступ может быть отклонён системой защиты. Если сервер обнаружит подозрительную активность, похожую на действия вредоносного ПО, то вам либо будет предложено пройти проверку и подтвердить, что вы не робот, либо сервер сразу отдаст код 403.
Как исправить проблему пользователю
Даже когда причина Forbidden Error находится на стороне пользователя, он не всегда может её исправить. Это ясно уже из характера описанных возможных причин. Но часть проблем решаема, поэтому предлагаем краткий алгоритм действий:
- Внимательно проверьте URL, важен каждый символ.
- Попробуйте зайти с альтернативного браузера или устройства. Если ресурс оказался доступен, то вероятный источник ошибки — ПО, с помощью которого вы пытались зайти на ресурс.
- Очистите кеш и куки браузера. Обновите страницу.
- Если сайт требует аутентификацию, то проверьте, что вы вошли в систему. Иногда помогает выйти и зайти снова.
- Если же ничего не помогло и вы уверены, что доступ не заблокирован по вашему IP или ID пользователя, то, вероятно, причина находится на стороне сервера. Обычный пользователь в этой ситуации может только подождать и зайти позже, когда нормальная работоспособность сайта будет восстановлена.
Если источник ошибки 403 — сервер
У ошибки запрета доступа много вероятных причин. Рассмотрим те, которые встречаются наиболее часто.
Проблема в файле индекса
Файл-индекс содержит первую, стартовую страницу сайта. Также он открывается по умолчанию при запросе к каталогу в целом. Файл-index должен иметь стандартное имя, чтобы правильно распознаваться системой, лежать в корневом каталоге, и в его названии не должно быть символов верхнего регистра.
Проверяем имя файла (index + расширение php, html, htm) и родительский каталог (public_html):
Файлы сайта располагаются правильно
Убедитесь, что все файлы, а не только индексный, лежат в регламентированных директориях. Неправильное расположение файлов и папок может вызвать ошибку 403.
Правильно настроенные права доступа
Файлам и каталогам в системе присвоены трёхзначные числа, обозначающие уровень доступа к данному ресурсу. Первая цифра — это уровень доступа юзера-владельца, вторая — групп, к которым принадлежит владелец, и третья — всех остальных пользователей. Стандартные значения для каталогов — 755, для файлов — 644. Каждая цифра — это уровень доступа, складывающийся из суммы разрешённых действий. Права на чтение — 4 балла, права на запись — 2 балла, и права на выполнение — 1 балл. Владелец файла (644) имеет максимальные разрешения на чтение и запись (6=4+2), группы и остальные пользователи ограничены чтением (4). А к системным каталогам wp-admin, wp-content и т. п. (700) доступ имеет только владелец (7), у групп и обычных пользователей установлено значение 0.
Если случайно ограничить права доступа к файлу и родительскому каталогу у обычных пользователей, то им будет передана ошибка 403.
Ошибка 403 связана с плагинами
Рассмотрим ситуацию с плагинами CMS WordPress, но ситуация может повторяться и на других CMS. Активные устаревшие, некорректно работающие или конфликтующие плагины могут вызвать 403 ошибку. Проверяем это, отключая все плагины одновременно. Есть два способа сделать это:
- Первый способ. Через файловый менеджер находим каталог «plugins» (в каталоге «wp-content») и меняем её название. Если после этого действия сайт заработал — причина проблем в плагинах, и нужно проверить их по отдельности. Дальше есть два варианта действий. Либо создаём новый каталог «plugins» и копируем в него из старого переименованного по одному плагину, выявляя таким образом проблемный. Либо возвращаем имя «plugins» на место, заходим внутрь папки и переименовываем вложенные папки плагинов по одной. Не забываем перезагружать сайт после каждого внесения изменений!
- Второй способ. Работаем через панель управления. Для проверки деактивируем все плагины сразу. Если сайт ожил, то активируем их поодиночке, пока не найдём тот самый, конфликтный или нерабочий, плагин.
Нерабочий плагин переустанавливают, обновляют или удаляют и заменяют альтернативным.
Причина в .htaccess
Файл .htaccess также может быть источником error 403 на сервере. Проверить его можно уже описанным выше способом: попробуем изменить его имя или переместить. Если причина в .htaccess, то открываем его в редакторе и смотрим содержимое.
Кеш DNS
В течение одного-двух суток после релокации сайта может появляться ошибка 403.
Ошибка сервера 403 из-за действий третьей стороны
Редко, но бывает, что причина находится на стороне провайдера. Если предпринятые попытки исправить ситуацию не помогли, свяжитесь с провайдером.
Доступ к веб-ресурсу может быть перекрыт хостингом или Роскомнадзором (не оплачены услуги, нарушены внутренние правила хостинга или при нарушениях законодательства).