Код статуса HTTP, указывающий, что доступ к ресурсу запрещен
HTTP 403 — это код статуса HTTP, означающий, что доступ к запрошенному ресурсу запрещён. Сервер понял запрос, но не будет его выполнять, если он был корректным.
Технические характеристики
HTTP 403 представляет собой отдельный случай ошибки от HTTP 401; в то время как HTTP 401 возвращается, когда клиент не прошел аутентификацию, и подразумевает, что успешный ответ может быть возвращен после действительной аутентификации, HTTP 403 возвращается, когда клиенту не разрешен доступ к ресурсу, несмотря на предоставление аутентификации, например, из-за недостаточных прав аутентифицированной учетной записи. [a]
Ошибка 403: «Сервер понял запрос, но отказывается его авторизовать». (RFC 7231) [1]
Ошибка 401: "Запрос требует аутентификации пользователя. Ответ ДОЛЖЕН включать поле заголовка WWW-Authenticate (раздел 14.47), содержащее вызов, применимый к запрашиваемому ресурсу. Клиент МОЖЕТ повторить запрос с подходящим полем заголовка Authorization (раздел 14.8). Если запрос уже включал учетные данные Authorization, то ответ 401 указывает, что авторизация для этих учетных данных была отклонена." (RFC 2616) [2]
Веб -сервер Apache возвращает 403 Forbidden в ответ на запросы URL [3] , соответствующие каталогам файловой системы , когда на сервере отключены листинги каталогов и нет директивы Directory Index для указания существующего файла, который должен быть возвращен браузеру. Некоторые администраторы настраивают расширение Mod proxy для Apache, чтобы блокировать такие запросы, и это также будет возвращать 403 Forbidden. Microsoft IIS отвечает таким же образом, когда листинги каталогов запрещены на этом сервере. В WebDAV ответ 403 Forbidden будет возвращен сервером, если клиент отправил запрос PROPFIND, но не отправил требуемый заголовок Depth или отправил заголовок Depth бесконечности. [3]
Причины
Код статуса 403 может возникнуть по следующим причинам: [4]
Недостаточно прав: Наиболее распространенной причиной кода статуса 403 является отсутствие у пользователя необходимых прав для доступа к запрашиваемому ресурсу. Это может означать, что пользователь не вошел в систему, не предоставил действительные учетные данные или не принадлежит к соответствующей группе пользователей для доступа к ресурсу.
Требуется аутентификация: в некоторых случаях сервер требует аутентификацию для доступа к определенным ресурсам. Если пользователь не предоставляет действительные учетные данные или аутентификация не пройдена, возвращается код статуса 403.
Ограничения IP: Сервер также может ограничивать доступ к определенным IP-адресам или диапазонам IP-адресов. Если IP-адрес пользователя не включен в список разрешенных адресов, возвращается код статуса 403.
Конфигурация сервера: Конфигурация сервера может быть настроена на запрет доступа к определенным файлам, каталогам или областям веб-сайта. Это может быть связано с неправильной конфигурацией или преднамеренными ограничениями, наложенными администратором сервера.
Заблокировано брандмауэром или программным обеспечением безопасности: код статуса 403 может возникнуть, если брандмауэр или программное обеспечение безопасности блокирует доступ к ресурсу. Это может произойти из-за политик безопасности, обнаружения вредоносных программ или других мер безопасности.
Примеры
Запрос клиента: [5]
GET /securedpage.php HTTP / 1.1 Хост : www.example.org
Ответ сервера: [5]
HTTP / 1.1 403 Запрещено Тип содержимого : text/html< html > < head >< title > 403 Запрещено </ title ></ head > < body > < h1 > Запрещено </ h1 > < p > У вас нет прав доступа к /securedpage.php на этом сервере. </ p > </ body > </ html >
Коды ошибок подстатуса для IIS
Следующие нестандартные коды возвращаются службой Internet Information Services корпорации Microsoft и официально не признаются IANA . [6]
1 – Доступ к выполнению запрещён
403.2 – Доступ для чтения запрещён
403.3 – Доступ на запись запрещён
403.4 – требуется SSL
403.5 – требуется SSL 128
403.6 – IP-адрес отклонен
403.7 – Требуется сертификат клиента
403.8 – Доступ к сайту запрещен
403.9 – Слишком много пользователей
403.10 – Неверная конфигурация
403.11 – Изменение пароля
403.12 – Mapper отказано в доступе
403.13 – Сертификат клиента отозван
403.14 – Отказано в листинге каталога
403.15 – Превышено количество лицензий на клиентский доступ
403.16 – Сертификат клиента ненадежен или недействителен
403.17 – Срок действия клиентского сертификата истек или он еще не действителен
403.18 – Невозможно выполнить запрос из этого пула приложений
403.19 — Невозможно выполнить CGI для клиента в этом пуле приложений.
403.20 – Ошибка входа в систему Passport
403.21 – Доступ к источнику запрещен
403.22 – Бесконечная глубина запрещена
403.502 — Слишком много запросов с одного клиентского IP-адреса; Достигнут предел ограничения динамического IP-адреса
^ См. коды ошибок #Substatus для IIS для получения информации о возможных причинах, по которым веб-сервер может отказаться выполнить запрос.
Ссылки
^ Протокол передачи гипертекста (HTTP/1.1): семантика и содержимое. IETF . раздел 6.5.3. doi : 10.17487/RFC7231 . RFC 7231.
^ Нильсен, Хенрик; Могул, Джеффри; Масинтер, Ларри М.; Филдинг, Рой Т.; Геттис, Джим; Лич, Пол Дж.; Бернерс-Ли, Тим (июнь 1999 г.). "RFC 2616 - Протокол передачи гипертекста - HTTP/1.1". Tools.ietf.org. doi :10.17487/RFC2616 . Получено 09.04.2018 .
^ ab "HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV)". IETF . Июнь 2007 г. Архивировано из оригинала 3 марта 2016 г. Получено 12 января 2016 г.
^ Код статуса HTTP 403 Как решить проблему с кодом статуса 403?
^ ab Пример «Запроса клиента» и «Ответа сервера» для кода статуса HTTP 403
^ HaiyingYu (23.02.2023). "Обзор кода состояния HTTP - Internet Information Services". learn.microsoft.com . Получено 19.05.2024 .
Внешние ссылки
Модуль Apache mod_proxy – Переслать
Работа с контекстами SELinux Маркировка файлов
Протокол передачи гипертекста (HTTP/1.1): семантика и содержание