Что такое ошибка HTTP 403 и как её исправить
Ошибка 403 — Forbidden может стать досадным помехой для любого. Эта распространённая ошибка может привести к недовольству посетителей сайта и к потере трафика и доходов сайта, в зависимости от того, какая страница вашего сайта затронута. Когда вы (или посетители вашего сайта) сталкиваетесь с неожиданным сообщением об ошибке 403, важно оперативно оценить проблему на случай, если она является симптомом более серьёзной проблемы на вашем сайте.
Вы можете столкнуться с ошибкой 403 forbidden при посещении каталога сайта или страницы с ограниченными правами, поскольку большинство сайтов настроено на запрет просмотра каталогов для защиты конфиденциальных файлов. Но в некоторых случаях ошибка 403 может быть признаком компрометации — из-за вредоносного ПО или повреждённого файла .htaccess
на веб-сайте.
В этой статье мы рассмотрим различные типы ошибок HTTP 403, их возможные причины, а также рассмотрим пошаговые инструкции по устранению этих ошибок, чтобы вернуть сайт в рабочее состояние.
Что такое ошибка 403
Ошибка HTTP 403 — это ошибка на стороне клиента, которая означает, что сервер получил и понял запрос, но не может его авторизовать.
Ошибка 403 Forbidden: у вас нет разрешения на доступ к этому ресурсу обычно возникает, когда пользователь не имеет необходимого разрешения на доступ к определённой веб-странице или ресурсу на веб-сервере. Эта ошибка обычно является проблемой самого веб-сайта, а не проблемой на стороне пользователя.
Сообщения об ошибке 403 могут быть самыми разными, но все они означают одно и то же. Вот несколько вариантов 403 ошибки, с которыми вы можете столкнуться в своём браузере:
- 403 Forbidden
- Error 403
- HTTP 403
- Error 403 – Forbidden
- HTTP Error 403 – Forbidden
- Forbidden: You don’t have permission to access [directory] on this server
- Forbidden
Это лишь некоторые из возможных сообщений, которые можно встретить при возникновении ошибки 403. Более того, некоторые сайты используют собственные сообщения об ошибке 403.
Чем 403 ошибка отличается от других ошибок 4xx
Чтобы помочь разобраться в разнице между общими ошибками 4XX и другими типами ошибок на стороне клиента, мы привели несколько распространённых типов ответов 4XX, с которыми можно столкнуться на своём сайте.
Клиентская ошибка | Описание |
---|---|
400: Bad Request | Это означает, что сервер не смог обработать запрос из-за неправильного синтаксиса или недостоверных данных, предоставленных клиентом. |
401: Unauthorized | Это означает, что запрос требует аутентификации, а клиент не предоставил валидные учётные данные или имеет недостаточные права доступа. |
402: Payment Required | Хотя этот код ошибки используется нечасто, он указывает на то, что запрашиваемый ресурс требует оплаты, прежде чем к нему можно будет получить доступ. |
403: Forbidden | Клиент не имеет необходимого разрешения для доступа к запрашиваемому ресурсу, даже если он прошёл аутентификацию. |
404: Not found | Запрашиваемый ресурс не найден на сервере, обычно потому, что URL неверен или ресурс был удален. |
405: Method Not Allowed | HTTP метод, используемый в запросе, не поддерживается для указанного ресурса. |
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 включают:
- Ограниченный доступ к каталогам или страницам. Большинство веб-сайтов настроено на запрет просмотра каталогов для защиты конфиденциальных файлов или предотвращения доступа к закрытым областям.
- Некорректные права доступа к файлам или каталогам. Если разрешения были установлены некорректно или изменены для ограничения доступа к ресурсам, посетители не смогут получить содержимое веб-страницы.
- Повреждённый файл
.htaccess
. Повреждённые или неправильные настройки в файле.htaccess
могут привести к ошибке 403, которая может возникнуть после внесения изменений в файл. - Проблемы с плагинами WordPress. Неправильно настроенный плагин WordPress, несовместимый с другим плагином или заражённый вредоносным ПО, может вызывать ошибку 403.
- Отсутствует индексная страница. Домашняя страница вашего сайта не является одним из стандартных индексных файлов веб-сервера:
index.html
,index.php
,default.asp
,index.htm
,index.shtml
и т. д… - Некорректный IP-адрес. Доменное имя указывает на некорректный IP-адрес.
- Заражение вредоносным ПО. Некоторые вредоносные программы известны тем, что вызывают ошибку 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 являются:
- Файлы: 644 или 640
- Директории: 755 или 750
wp-config.php
: 440 или 400
Для изменения прав доступа к файлам на WordPress-сайте:
- Подключитесь к серверу с помощью SFTP-клиента (например FileZilla).
- Перейдите в корневую папку вашего сайта (часто называемую
public_html
илиwww
). - Найдите файлы и папки, разрешения которых необходимо изменить, кликните на них правой кнопкой мыши и выберите Разрешения файла или Свойства.
- При необходимости обновите разрешения и не забудьте применить эти изменения рекурсивно при настройке разрешений папок.
4. Проверьте недавно установленное или обновлённое программное обеспечение
Проверьте, не устанавливалось или обновлялось на вашем сайте какое-либо программное обеспечение. Чтобы обновить программное обеспечение, ознакомьтесь с инструкциями на сайте поставщика.
Также нужно проверить свой сайт на наличие новых и незнакомых плагинов или тем. Если вы обнаружите что-то необычное, это может быть признаком компрометации.
Проведите дополнительное расследование, чтобы определить:
- Что представляет собой незнакомое программное обеспечение или компонент.
- Как давно оно установлено на вашем сайте.
- Правомерно оно или нет.
Если вы обнаружили что-то подозрительное, удалите этот компонент и проверьте сайт на наличие вредоносного ПО.
Важное примечание: Злоумышленники регулярно сканируют устаревшие и плохо поддерживаемые плагины, темы и компоненты на предмет известных уязвимостей. Чтобы снизить риск и защититься от автоматических атак, всегда обновляйте программное обеспечение последними обновлениями безопасности.
5. Проверьте файл .htaccess
Файл .htaccess
— это файл конфигурации, используемый веб-сервером Apache для управления различными аспектами веб-сайта, такими как перенаправления, ограничения доступа и оптимизация производительности. Ошибки в файле .htaccess
, такие, как неправильный синтаксис или противоречивые правила, могут привести к ошибке 403 Forbidden. Наиболее распространённым источником таких ошибок являются неправильно настроенные правила allow
/deny
. Известно также, что правила deny
добавляются к случайным подкаталогам некоторыми типами вредоносных программ.
Поскольку файлы .htaccess
могут быть размещены в любом каталоге, а их директивы влияют на все подкаталоги, следует начать с уровня, на котором вы получили ошибку 403, и проверить наличие файлов .htaccess
в каждом каталоге вплоть до корневого.
Если у вас установлена cPanel, можно выполнить следующие шаги для устранения неполадок:
- Перейдите в файловый менеджер cPanel.
- Перейдите в каталог
public_html
и найдите файл.htaccess
. Если эта ошибка возникает только в конкретном каталоге, проверьте, есть ли в этом каталоге файл.htaccess
. - Кликните правой кнопкой мыши на файле в файловом менеджере cPanel и скачайте копию для резервного копирования.
- Убедившись, что теперь у вас есть резервная копия файла
.htaccess
, можете снова кликнуть правой кнопкой мыши на файле и выбрать Удалить. - Проверьте веб-сайт, чтобы убедиться, что ошибка 403 устранена. Если веб-сайт теперь работает как положено, значит, файл
.htaccess
был повреждён и нужно создать новый. - Войдите в панель управления WordPress и перейдите в раздел Настройки > Permalinks, затем нажмите кнопку Сохранить Изменения в нижней части страницы, чтобы создать новый файл
.htaccess
для веб-сайта.
6. Деактивируйте плагины WordPress
Неисправные или несовместимые плагины могут вызывать на веб-сайте ошибку 403 Forbidden. Чтобы определить проблемный плагин, нужно деактивировать плагины, а затем снова активировать их по одному, проверяя сайт после каждой активации, чтобы увидеть, не появилась ли ошибка 403 снова.
Если вы не можете получить доступ к панели управления WordPress, чтобы деактивировать плагины, выполните следующие действия, для устранения неполадок в компонентах:
- Создайте резервную копию сайта.
- Подключитесь к серверу через SFTP.
- Перейдите в каталог
wp-content
. - Переименуйте каталог
plugins
во что-то вродеplugins-disabled
, чтобы одновременно отключить все плагины на веб-сайте. - Проверьте веб-сайт на наличие проблем. Если ошибка исчезла, скорее всего, её причиной был плагин.
- Переименуйте каталог в
plugins
и активируйте плагины один за другим, проверяя сайт после каждой активации, чтобы точно определить проблемный компонент. - Как только виновник будет определён, обновите или удалите плагин при необходимости.
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 и выполнив все шаги по устранению неполадок, описанные в данной статье, вы сможете устранить эти ошибки и вернуть сайт в нормальное русло. Кроме того, всегда следите за тем, чтобы веб-сайт был обновлён и защищён от потенциальных угроз.