hostprofi.ru
Подобрать хостинг
Термин·буква F

Forbidden (403)

краткое определение

HTTP 403 Forbidden — код ответа сервера, означающий отказ в доступе к запрошенному ресурсу. Сервер понял запрос, но не выполнит его из-за ограничений авторизации, прав на файлы или конфигурации.

HTTP 403 Forbidden — один из кодов состояния HTTP, означающий, что сервер понял запрос клиента, но отказывается его выполнить. В отличие от 401 Unauthorized, аутентификация (ввод пароля) не поможет — запрос отклоняется по политике, а не из-за отсутствия авторизации. RFC 9110 (HTTP Semantics, 2022) описывает 403 как «сервер понимает запрос, но отказывает в авторизации».

Как работает

Сервер возвращает 403, когда одно из следующих условий не выполнено:

  • Права доступа к файлу или директории — процесс веб-сервера (nginx, Apache) не может прочитать файл. Стандартные права в Linux: файлы 644 (rw-r--r--), директории 755 (rwxr-xr-x). Если файл имеет права 600, только владелец может читать — веб-сервер работающий под пользователем www-data получит отказ.
  • Отсутствие индексного файла при запрете листинга — запрос к директории без index.php/index.html при настройке autoindex off (nginx по умолчанию) возвращает 403.
  • Блокировка по IP или IP-диапазону — директивы deny IP в nginx или Deny from в Apache/.htaccess.
  • WAF (Web Application Firewall) — блокировка подозрительных запросов (SQL injection, XSS паттерны) возвращает 403.
  • Hotlink protection — блокировка прямых ссылок на файлы с чужих доменов.

В nginx диагностика: смотрите error.log. Типичные записи: 13: Permission denied (права доступа), directory index of ... is forbidden (листинг директории запрещён). В Apache — error_log: [Forbidden] You don't have permission to access.

История

HTTP-код 403 определён в RFC 1945 (HTTP/1.0, 1996) и унаследован в RFC 2616 (HTTP/1.1, 1999). В 2022 году RFC 9110 уточнил семантику: «403 Forbidden означает, что сервер понимает запрос, но отказывает в авторизации». До RFC 9110 разграничение между 401 и 403 было размытым. Cloudflare использует расширенные подкоды в теле ответа (1001, 1003 и другие) для дифференциации причин блокировки CDN.

Диагностика и исправление

Неправильные права
chmod 755 /var/www/html && chmod -R 644 /var/www/html/*
Неверный владелец файла
chown -R www-data:www-data /var/www/html
Отсутствует index-файл
Создать index.html или включить autoindex on (осторожно: раскрывает структуру директорий).
Блокировка по IP
Проверить deny-директивы в конфигурации nginx/Apache, правила WAF и настройки CDN.

403 в контексте SEO

403 на страницах сайта приводит к исключению из индекса поисковиков. Если Googlebot получает 403 — страница помечается как недоступная и через некоторое время исключается из поиска. Проверяйте 403-ответы через Google Search Console (раздел «Охват» → «Ошибки»). Намеренная 403 для закрытых разделов (личный кабинет, API endpoint) — допустимая практика: переправильные заголовки X-Robots-Tag: noindex для явного запрета индексации.

На что обращать внимание

Не путайте 403 и 404: 403 — доступ запрещён (ресурс существует), 404 — ресурс не найден. С точки зрения безопасности рекомендуется возвращать 404 вместо 403 для закрытых ресурсов — это не раскрывает злоумышленнику, что ресурс существует. На VPS и выделенных серверах 403 часто возникает после переноса сайта из-за несоответствия прав или пути к файлам в конфиге nginx.

Ошибка 403 возникает при неверных правах на файлы (chmod/chown) или ограничениях Nginx/Apache. Фаервол и WAF возвращают 403 для заблокированных запросов. Cloudflare возвращает 403 при срабатывании правил безопасности. htaccess-правила в Apache часто источник проблемы.

Другие термины