Що таке помилка доступу 403 і як її виправити
14:18, 12.01.2023
Код відповіді HTTP 403 Forbidden зустрічається досить часто. Ця помилка виникає в разі, якщо клієнт отримує відмову в доступі до ресурсу з боку сервера. У цій статті ми розглянемо основні причини та варіанти виправлення помилки 403 Forbidden.
Чому виникає помилка 403
Якщо ви спостерігаєте цей код, це може означати таке:
- Відмова при спробі отримати доступ до системних файлів веб-сервера. Наприклад, якщо клієнт звертається до даних із конфігураційного файлу .htaccess або .htpasswd.
- Некоректний формат індексного файлу на сервері. Файл main page має носити назву index.shtml, index.html, index.htm, index.phtml або index.php, причому обов'язково в нижньому регістрі. Якщо якийсь із цих файлів має неправильну назву, сервер видаватиме помилку.
- Неправильно налаштовано доступ до папки або директорії, в якій знаходиться файл. Усі директорії та папки, до яких повинні мати доступ відвідувачі, не повинні містити будь-яких обмежень.
- Файли сайту завантажені за неправильною адресою. У меню хостингу в підрозділі "Домени/Мої домени" переконайтеся, що всі файли знаходяться в потрібній папці – тобто в кореневій.
Також помилку 403 може провокувати кривий плагін або розширення. Якщо причина саме в цьому, доведеться по черзі відключати всі плагіни і дивитися, який із них винен.
Варіанти виправлення 403 Forbidden
Якщо адміністратор веб-сайту цілеспрямовано обмежив доступ до запитуваного файлу, то код HTTP 403 Forbidden виникає коректно, і виправляти в цьому разі нічого не потрібно. Доступ може бути дозволений для якогось певного пулу IP-адрес – це робиться для захисту панелі управління сайту від злому. Якщо це так, обійти обмеження можна за допомогою корпоративного VPN або пристрою, підключеного до внутрішньої локальної мережі. Ви зможете отримати доступ до запитуваних файлів, якщо повторите спробу звернення до сервера з дозволеного пристрою.
Якщо ж помилка виникає з інших причин, то рекомендуємо зробити таке.
Перевірити права доступу до папок і файлів
Помилка 403 Forbidden може виникати, якщо доступ до тих чи інших файлів намагається отримати людина з тієї групи, для якої передбачено якісь обмеження. Рівнів доступу буває три:
- На читання - тільки перегляд вмісту.
- На редагування – дає змогу вносити зміни, створювати нові файли або видаляти старі.
- На виконання – запуск скриптів або виконання команд.
Що стосується груп користувачів, їх також буває три:
- Власник – може здійснювати абсолютно будь-які дії з файлами і папками.
- Група довірених осіб з особливими правами, які може встановлювати власник.
- Світ – усі інші користувачі. Сюди належать і пересічні відвідувачі сайту.
Рівень доступу регулюється тризначним числом, де кожна цифра визначатиме права тієї чи іншої категорії користувачів. У більшості випадків використовуються стандартні права:
- для папок – 755 або 750;
- для файлів – 644 або 640.
У разі використання цих значень у 99% випадків жодних проблем не виникне, це стандарт.
Винятком із цього правила є лише файл wp-config.php для сайтів під управлінням CMS WordPress. У випадку з ним встановлюють права доступу 440 або 400.
Перевірити індексний файл
Він міститься в кореневому каталозі сайту і завантажується щоразу, коли хтось намагається завантажити сторінку сайту у себе в браузері. Якщо папка, яка містить файли сторінки, не має індексного файлу із зазначенням у налаштуваннях правильного імені, веб-сервер видасть помилку 403 Forbidden.
Вам слід перевірити таке:
- чи правильно вказано назву індексного файлу в конфігураційному файлі;
- місце зберігання файлу – він має бути розташований у папці public_html вашого сайту.
Помилка може виникнути в разі, якщо хтось припустився помилки під час редагування або налаштування сайту. Також проблеми з індексним файлом трапляються внаслідок переїзду сайту з одного хостингу на інший.
Перевірити файл .htaccess
Цей конфігураційний файл містить команди для веб-сервера Apache, які виконуватимуться щоразу під час обробки вхідних запитів. Тут налаштовуються параметри переадресації, і тут же регламентується рівень доступу до певних сторінок.
Якщо у файлі команди вказані з помилкою, або якщо у файлі прописано конфліктні команди, це може спричинити появу помилки 403.
Найпростіший і найшвидший спосіб дізнатися, чи є файл .htaccess причиною ваших бід – перейменувати його. У результаті цього команди не діятимуть. І якщо помилка зникла, значить, справа саме в ньому. Тоді вже слід уважно вивчити вміст файлу і з'ясовувати, в чому саме проблема.
Перевірити власника папок
Якщо папка належить користувачеві, у якого в групі довірених осіб немає веб-сервера, це може стати причиною помилки 403 Forbidden, оскільки в цьому разі на веб-сервер поширюються права доступу інших користувачів. А цього в більшості випадків недостатньо.
Рішення просте – призначити власником файлів і папок сам веб-сервер. Для цього просто підключіться до сервера по SSH і використовуйте через консоль команду:
chown користувач:група /путь/до/файлу
Користувач і група тут – це ім'я користувача, під яким веб-сервер ініціює процеси.
Вимкніть плагіни та розширення
Часто допомагає сайтам, які використовують CMS, а це більшість. Буває таке, що встановлені модулі та розширення містять кривий код, який і провокує появу помилок.
Просто вимкніть усі плагіни на сайті та подивіться, чи зберігається проблема. Якщо ні – проблема саме в одному з цих модулів для CMS. По черзі їх підключайте і дивіться, коли проблема знову дасть про себе знати. Це допоможе виявити проблемне розширення, яке доведеться повністю відключити або замінити яким-небудь іншим.
Висновок
Якщо жоден з описаних способів не допоміг вирішити проблему, спробуйте почистити кеш і cookies. Банально, але іноді це спрацьовує. Щоб отримати персональну консультацію з будь-яких питань, пишіть нам у Livechat. Фахівці HostZealot допоможуть вирішити будь-яке питання.