HTTP 403 Forbidden
Доступ запрещён: сервер понял запрос и намеренно отказывается его выполнять.
Что означает HTTP 403
HTTP 403 Forbidden означает, что сервер понял, что вы запросили, и отказывает. В отличие от 401, повторная аутентификация не поможет — отказ связан с правами доступа или политикой, а не с личностью.
Причины варьируются от прав файловой системы на сервере до гео/IP-блокировок и решения веб-файрвола (WAF), что запрос выглядит подозрительно. Некоторые сайты также возвращают 403 вместо 404, чтобы скрыть, существует ли ресурс.
Частые причины ошибок 403
- Недостаточно прав: у учётной записи нет нужной роли, либо у файла нет прав на чтение (chmod/владелец на сервере).
- IP-адрес, страна или user-agent заблокированы сервером, CDN или правилом WAF.
- Запрошен листинг каталога, а autoindex отключён (в папке нет index.html).
- Защита от хотлинкинга отклоняет запросы с чужим Referer.
- Не пройдена проверка Cloudflare или другого WAF — автоматизированный трафик часто получает здесь 403.
Как исправить со стороны пользователя
- Убедитесь, что вы вошли в учётную запись, у которой действительно есть доступ.
- Попробуйте без VPN или прокси — ваш исходящий IP может быть заблокирован.
- Если вы владелец контента, проверьте права файлов и правила .htaccess/WAF, а не повторяйте попытку.
Как исправить со стороны разработчика
- Проверьте владельца и права файлов (например, 644 для файлов / 755 для каталогов на типичных веб-серверах).
- Проверьте правила запрета: .htaccess, директивы deny в nginx, плагины безопасности, управляемые правила WAF.
- Убедитесь, что индексный документ существует, либо явно включите/отключите листинг каталога по замыслу.
- Для API возвращайте 403 с машиночитаемой причиной, чтобы клиенты могли отличить отказ по политике от ошибки аутентификации.
Пример ответа
HTTP/1.1 403 Forbidden
Content-Type: application/json
{"error":"forbidden","reason":"account lacks role: admin"}Частые вопросы
В чём разница между 403 и 401?
401 просит вас пройти аутентификацию; 403 говорит, что (повторная) аутентификация не изменит ответа — вам просто не разрешено.
Почему бот или скрипт получает 403, а браузер работает?
WAF или слой защиты от ботов фильтрует небраузерный трафик. Идентифицируйте себя должным образом или используйте официальный API сайта.
Может ли 403 возвращаться вместо 404?
Да — некоторые серверы скрывают существование ресурсов, единообразно отвечая 403 (или 404) на всё неавторизованное.