Что такое ошибка HTTP 403 и как её исправить

Источник: «What is HTTP Error 403 & How to Fix It»
Что такое ошибка HTTP 403? Как решить проблему и устранить 403-ю ошибку. Рассмотрим шаги по устранению ошибок и возвращению страниц сайта в онлайн.

Ошибка 403 — Forbidden может стать досадным помехой для любого. Эта распространённая ошибка может привести к недовольству посетителей сайта и к потере трафика и доходов сайта, в зависимости от того, какая страница вашего сайта затронута. Когда вы (или посетители вашего сайта) сталкиваетесь с неожиданным сообщением об ошибке 403, важно оперативно оценить проблему на случай, если она является симптомом более серьёзной проблемы на вашем сайте.

Вы можете столкнуться с ошибкой 403 forbidden при посещении каталога сайта или страницы с ограниченными правами, поскольку большинство сайтов настроено на запрет просмотра каталогов для защиты конфиденциальных файлов. Но в некоторых случаях ошибка 403 может быть признаком компрометации — из-за вредоносного ПО или повреждённого файла .htaccess на веб-сайте.

В этой статье мы рассмотрим различные типы ошибок HTTP 403, их возможные причины, а также рассмотрим пошаговые инструкции по устранению этих ошибок, чтобы вернуть сайт в рабочее состояние.

Что такое ошибка 403

Ошибка HTTP 403 — это ошибка на стороне клиента, которая означает, что сервер получил и понял запрос, но не может его авторизовать.

Ошибка 403 Forbidden: у вас нет разрешения на доступ к этому ресурсу обычно возникает, когда пользователь не имеет необходимого разрешения на доступ к определённой веб-странице или ресурсу на веб-сервере. Эта ошибка обычно является проблемой самого веб-сайта, а не проблемой на стороне пользователя.

Пример ошибки 403
Пример ошибки 403

Сообщения об ошибке 403 могут быть самыми разными, но все они означают одно и то же. Вот несколько вариантов 403 ошибки, с которыми вы можете столкнуться в своём браузере:

Это лишь некоторые из возможных сообщений, которые можно встретить при возникновении ошибки 403. Более того, некоторые сайты используют собственные сообщения об ошибке 403.

Чем 403 ошибка отличается от других ошибок 4xx

Чтобы помочь разобраться в разнице между общими ошибками 4XX и другими типами ошибок на стороне клиента, мы привели несколько распространённых типов ответов 4XX, с которыми можно столкнуться на своём сайте.

Клиентская ошибкаОписание
400: Bad RequestЭто означает, что сервер не смог обработать запрос из-за неправильного синтаксиса или недостоверных данных, предоставленных клиентом.
401: UnauthorizedЭто означает, что запрос требует аутентификации, а клиент не предоставил валидные учётные данные или имеет недостаточные права доступа.
402: Payment RequiredХотя этот код ошибки используется нечасто, он указывает на то, что запрашиваемый ресурс требует оплаты, прежде чем к нему можно будет получить доступ.
403: ForbiddenКлиент не имеет необходимого разрешения для доступа к запрашиваемому ресурсу, даже если он прошёл аутентификацию.
404: Not foundЗапрашиваемый ресурс не найден на сервере, обычно потому, что URL неверен или ресурс был удален.
405: Method Not AllowedHTTP метод, используемый в запросе, не поддерживается для указанного ресурса.
406: Not AcceptableСервер не может предоставить ответ, соответствующий критериям, указанным клиентом в заголовках запроса.
407: Proxy Authentication RequiredЭто похоже на ошибку 401, но указывает на то, что клиент должен аутентифицироваться на прокси-сервере перед доступом.
408: Request TimeoutСервер не получил полный запрос от клиента за отведённый промежуток времени.
409: ConflictЗапрошенная операция не может быть выполнена из-за конфликта с текущим состоянием ресурса.
410: GoneЗапрашиваемый ресурс больше не доступен на сервере и был навсегда удален.
411: Length RequiredСерверу требуется корректный заголовок Content-Length в запросе на указанный ресурс.
412: Precondition FailedОдно или несколько предварительных условий, указанных клиентом в заголовках запроса, не были выполнены сервером.

За исключением ошибки 400, большинство ошибок на стороне клиента предоставляют чёткие причины для ответа о состоянии, которые помогут вам определить проблему и решить её.

Что вызывает ошибку 403

Ошибка 403 — Forbidden может возникать по множеству причин, включая неправильную конфигурацию сайта или файлов сервера, неверные права доступа к файлам или проблемы с недавно установленными плагинами или сторонним программным обеспечением. В более редких случаях ошибка 403 также может быть индикатором компрометации, поскольку некоторые вредоносные программы, как известно, заражают файл .htaccess, что приводит к ошибкам и неожиданному поведению сайта.

Наиболее распространённые причины ошибки 403 включают:

При возникновении ошибки 403 пользователям отказывается в доступе к определённым областям сайта, например, при переходе на страницу с ошибкой прав доступа или в пустой каталог сайта. Необходимо как можно скорее устранить эти ошибки, для обеспечения нормальной работы сайта.

Как исправить ошибку 403 на сайте

Иногда самые простые решения могут решить самые сложные проблемы — особенно когда речь идёт об ошибке 403 на вашем сайте. Давайте начнём с основ и подробно рассмотрим каждый шаг.

Продолжайте действовать в хронологическом порядке до тех пор, пока проблема не будет решена:

1. Проверьте адрес и обновите страницу

Первое, что необходимо сделать, столкнувшись с ошибкой 403, — перепроверить URL, к которому вы пытаетесь получить доступ. Частой причиной ошибки 403 является неправильный URL или неправильно набранный адрес. Убедитесь, что адрес написан правильно и указывает на нужный ресурс.

Если адрес — это каталог, а не конкретная веб-страница, может возникнуть ошибка 403, поскольку некоторые веб-серверы могут ограничивать прямой доступ к каталогам. Если это не помогло, попробуйте перезагрузить страницу (F5/Ctrl + F5).

Перезагрузка — простое действие, но оно зачастую позволяет решить временные проблемы. Возможно, ваш запрос был обработан во время кратковременной заминки сервера, и обновление страницы — это всё, что требуется для устранения ошибки.

2. Очистите кэш браузера

Кэш браузера помогает ускорить загрузку сайтов, сохраняя статические ресурсы, такие как изображения, скрипты и таблицы стилей. Однако иногда между реальной версией страницы и её кэшированной версией могут возникать расхождения, что приводит к таким ошибкам, как ошибка 403 Forbidden.

Для решения этой проблемы очистите кэш браузера. Это действие заставит браузер получить последнюю версию веб-страницы непосредственно с сервера.

Очистив кэш, зайдите на страницу и проверьте, устранена ли ошибка. Убедиться в том, что видите не кэшированную страницу на сайте, можно, загрузив URL с добавленной переменной, например, так: example.com?nocache

3. Измените права доступа на файлы и каталоги

Каждый файл и каталог на сервере вашего сайта имеет уникальные права доступа к файлам, контролирующие чтение, запись и выполнение. Эти разрешения представлены трёхзначным числом, каждая цифра обозначает уровень разрешения для владельца, группы и других лиц соответственно.

Иногда права доступа к файлам могут быть случайно изменены или неправильно установлены, что приводит к ошибке 403 Forbidden. Для решения этой проблемы необходимо подключиться к серверу по FTP/SFTP и проверить права доступа к файлам на веб-сайте.

Идеальными правами доступа к файлам для сайта на WordPress являются:

Для изменения прав доступа к файлам на WordPress-сайте:

  1. Подключитесь к серверу с помощью SFTP-клиента (например FileZilla).
  2. Перейдите в корневую папку вашего сайта (часто называемую public_html или www).
  3. Найдите файлы и папки, разрешения которых необходимо изменить, кликните на них правой кнопкой мыши и выберите Разрешения файла или Свойства.
  4. При необходимости обновите разрешения и не забудьте применить эти изменения рекурсивно при настройке разрешений папок.

4. Проверьте недавно установленное или обновлённое программное обеспечение

Проверьте, не устанавливалось или обновлялось на вашем сайте какое-либо программное обеспечение. Чтобы обновить программное обеспечение, ознакомьтесь с инструкциями на сайте поставщика.

Также нужно проверить свой сайт на наличие новых и незнакомых плагинов или тем. Если вы обнаружите что-то необычное, это может быть признаком компрометации.

Проведите дополнительное расследование, чтобы определить:

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

Важное примечание: Злоумышленники регулярно сканируют устаревшие и плохо поддерживаемые плагины, темы и компоненты на предмет известных уязвимостей. Чтобы снизить риск и защититься от автоматических атак, всегда обновляйте программное обеспечение последними обновлениями безопасности.

5. Проверьте файл .htaccess

Файл .htaccess — это файл конфигурации, используемый веб-сервером Apache для управления различными аспектами веб-сайта, такими как перенаправления, ограничения доступа и оптимизация производительности. Ошибки в файле .htaccess, такие, как неправильный синтаксис или противоречивые правила, могут привести к ошибке 403 Forbidden. Наиболее распространённым источником таких ошибок являются неправильно настроенные правила allow/deny. Известно также, что правила deny добавляются к случайным подкаталогам некоторыми типами вредоносных программ.

Поскольку файлы .htaccess могут быть размещены в любом каталоге, а их директивы влияют на все подкаталоги, следует начать с уровня, на котором вы получили ошибку 403, и проверить наличие файлов .htaccess в каждом каталоге вплоть до корневого.

Если у вас установлена cPanel, можно выполнить следующие шаги для устранения неполадок:

  1. Перейдите в файловый менеджер cPanel.
  2. Перейдите в каталог public_html и найдите файл .htaccess. Если эта ошибка возникает только в конкретном каталоге, проверьте, есть ли в этом каталоге файл .htaccess.
  3. Кликните правой кнопкой мыши на файле в файловом менеджере cPanel и скачайте копию для резервного копирования.
  4. Убедившись, что теперь у вас есть резервная копия файла .htaccess, можете снова кликнуть правой кнопкой мыши на файле и выбрать Удалить.
  5. Проверьте веб-сайт, чтобы убедиться, что ошибка 403 устранена. Если веб-сайт теперь работает как положено, значит, файл .htaccess был повреждён и нужно создать новый.
  6. Войдите в панель управления WordPress и перейдите в раздел Настройки > Permalinks, затем нажмите кнопку Сохранить Изменения в нижней части страницы, чтобы создать новый файл .htaccess для веб-сайта.

6. Деактивируйте плагины WordPress

Неисправные или несовместимые плагины могут вызывать на веб-сайте ошибку 403 Forbidden. Чтобы определить проблемный плагин, нужно деактивировать плагины, а затем снова активировать их по одному, проверяя сайт после каждой активации, чтобы увидеть, не появилась ли ошибка 403 снова.

Если вы не можете получить доступ к панели управления WordPress, чтобы деактивировать плагины, выполните следующие действия, для устранения неполадок в компонентах:

  1. Создайте резервную копию сайта.
  2. Подключитесь к серверу через SFTP.
  3. Перейдите в каталог wp-content.
  4. Переименуйте каталог plugins во что-то вроде plugins-disabled, чтобы одновременно отключить все плагины на веб-сайте.
  5. Проверьте веб-сайт на наличие проблем. Если ошибка исчезла, скорее всего, её причиной был плагин.
  6. Переименуйте каталог в plugins и активируйте плагины один за другим, проверяя сайт после каждой активации, чтобы точно определить проблемный компонент.
  7. Как только виновник будет определён, обновите или удалите плагин при необходимости.

7. Временно деактивируйте CDN

Если вы получаете ошибку 403 на свои ресурсы (изображения, JavaScript, CSS), это может быть связано с работой сети доставки контента (CDN). CDN иногда могут блокировать доступ к определённым ресурсам из-за неправильной конфигурации или политики безопасности.

Чтобы проверить, не является ли причиной ошибки CDN, временно отключите его и снова зайдите на веб-сайт. Как только проблема будет устранена, можно снова включить CDN, чтобы продолжить пользоваться преимуществами оптимизации производительности.

Устранение ошибки 403 с помощью Sucuri WAF

Если вы пользуетесь Sucuri WAF и в вашем брандмауэре реализована функция Firewall Bypass Prevention, то для решения ошибки 403 необходимо добавить свой IP-адрес в директиву FileMatch в файле .htaccess:

# BEGIN Sucuri Firewall Bypass Prevention
<FilesMatch ".*">
Order deny,allow
Deny from all
Allow from 192.88.134.0/23
Allow from 185.93.228.0/22
Allow from 66.248.200.0/22
Allow from 208.109.0.0/22
Allow from 2a02:fe80::/29
Allow from INSERT YOUR IP HERE
</FilesMatch>
# END Sucuri Firewall Bypass Prevention

8. Проверьте, нет ли проблем с конфигурацией защиты от «горячих ссылок»

Защита от «горячих ссылок» не позволяет другим сайтам использовать пропускную способность вашего сервера, напрямую ссылаясь на ваши файлы. Когда защита от «горячих ссылок» включена, она обычно возвращает ошибку 403 forbidden на неавторизованные запросы. Однако неправильно настроенная защита от «горячих ссылок» может также блокировать легитимные запросы и вызывать ошибку 403.

Чтобы решить эту проблему, просмотрите настройки защиты «горячих ссылок» либо в панели управления хостингом, либо в настройках CDN. Убедитесь, что защита правильно настроена и блокирует только неавторизованные запросы. При необходимости обновите настройки и снова протестируйте сайт, чтобы убедиться, что ошибка устранена.

9. Отключитесь от VPN

Некоторые сайты блокируют доступ для пользователей, подключённых через VPN, чтобы предотвратить возможные злоупотребления или обход гео-ограничений.

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

10. Проверьте сайт на наличие проблем с безопасностью и вредоносных программ

В некоторых случаях заражённые компоненты или .htaccess могут привести к ошибке 403 на вашем веб-сайте. Чтобы исключить компрометацию или инфекцию, вызывающую ошибку, необходимо провести всестороннее сканирование файлов и сервера вашего сайта.

11. Обратитесь к своему провайдеру хостинга

Если ни одно из вышеперечисленных решений не помогло, самое время обратиться за помощью к вашему провайдеру хостинга. Они помогут определить проблему, дадут рекомендации по её решению и даже устранят её за вас, если проблема кроется в конфигурации сервера или инфраструктуре хостинга.

Защита веб-сайта от ошибок 403

Ошибка 403 на веб-сайте может быть очень неприятной, но очень важно решить эту проблему своевременно, чтобы не потерять ценный трафик и не навредить репутации веб-сайта.

Ознакомившись с различными формами ошибки 403 и выполнив все шаги по устранению неполадок, описанные в данной статье, вы сможете устранить эти ошибки и вернуть сайт в нормальное русло. Кроме того, всегда следите за тем, чтобы веб-сайт был обновлён и защищён от потенциальных угроз.

Дополнительные материалы

Предыдущая Статья

Atomic CSS: Масштабируемая архитектура в современной веб-разработке

Следующая Статья

Как исправить ошибку mysql_native_password is not loaded в MySQL 8.4