Forbidden permission to access ошибка

На чтение 3 мин Опубликовано 19.07.2020

Веб-сервер Apache является одним из самых популярных и широко используемых веб-серверов с открытым исходным кодом благодаря своей стабильности и надежности.

Веб-сервер управляет огромным рынком, особенно на платформах веб-хостинга.

Как бы то ни было, вы можете получить ошибку «Forbidden – You don’t have permission to access / on this server» в вашем браузере после настройки вашего веб-сайта.

Это довольно распространенная ошибка, и многие пользователи уже сталкивались с ней при тестировании своего сайта.

Так в чем же эта ошибка?

Также называемая «ошибка 403», эта такая ошибка в Apache , которая отображается на веб-странице, когда вы пытаетесь получить доступ к веб-сайту с ограниченным или запрещенным доступом.

Кроме того, ошибка может отображаться по разному:

  • HTTP Error 403 – Forbidden
  • Forbidden: You don’t have permission to access [directory] on this server
  • 403 Forbidden
  • Access Denied You don’t have permission to access
  • 403 forbidden request forbidden by administrative rules

Содержание

  1. Так что вызывает такие ошибки?
  2. 1. Неправильные права доступа к файлам / каталогам
  3. 2. Неправильная настройка файлов конфигурации Apache
  4. Фиксим ‘403 Forbidden Error’
  5. 1. Настройте права доступа к файлам и владение каталогом webroot
  6. 2. Настройте директивы в главном конфигурационном файле Apache

Так что вызывает такие ошибки?

‘403 ошибка‘ возникает по следующим основным причинам:

1. Неправильные права доступа к файлам / каталогам

Эта ошибка может быть вызвана из-за неправильных прав доступа к файлам/папкам в каталоге webroot.

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

2. Неправильная настройка файлов конфигурации Apache

Эта ошибка также может быть связана с неправильной настройкой одного из файлов конфигурации Apache.

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

Фиксим ‘403 Forbidden Error’

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

1. Настройте права доступа к файлам и владение каталогом webroot

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

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

Каталог webroot всегда должен иметь разрешения EXECUTE, а файл index.html должен иметь разрешения READ.

$ sudo chmod -R 775 /path/to/webroot/directory

Кроме того, настройте владельца каталога, как показано далее:

$ sudo chown -R user:group /path/to/webroot/directory

Где user является обычным вошедшим в систему пользователем, а группа – www-data или apache.

Наконец, перезапустите веб-сервер Apache, чтобы изменения вступили в силу.

$ sudo systemctl restart apache2

Если это не решает проблему, перейдите к следующему шагу:

2. Настройте директивы в главном конфигурационном файле Apache

Убедитесь, что в главном конфигурационном файле Apache /etc/apache2/apache2.conf  у вас есть этот блок кода:

<Directory />
        Options FollowSymLinks
        AllowOverride None
        Require all denied
</Directory>

<Directory /usr/share>
        AllowOverride None
        Require all granted
</Directory>

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Сохраните и выйдите, а затем перезапустите Apache.

Если вы используете Apache в системах RHEL / CentOS, убедитесь, что вы ослабили доступ к каталогу /var/www в главном файле конфигурации Apache /etc/httpd/conf/httpd.conf.

<Directory "/var/www">
    AllowOverride None
    Require all granted
</Directory>

Затем сохраните все изменения и перезагрузите Apache.

Пожалуйста, не спамьте и никого не оскорбляйте.

Это поле для комментариев, а не спамбокс.

Рекламные ссылки не индексируются!

Вы столкнулись с сообщением «Ошибка 403»? Что делать, мы расскажем в этой статье.

Если при открытии вашего сайта вы получили одно из следующих уведомлений:

  • В доступе на страницу отказано,
  • 403 Forbidden,
  • Forbidden, доступ запрещён,
  • Forbidden You don’t have permission to access,
  • Access denied.

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

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

Возможные причины и их решения, если проблема на стороне владельца сайта

Заблокирована работа хостинга

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

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

Если подобных писем не приходило и услуга не блокировалась, причина ошибки в другом.

Некорректно задана главная страница сайта

Главная страница сайта (индексный файл) – это первая страница, которая открывается пользователю, если он перешёл по домену без указания точной страницы сайта, например www.test.ru. По общепринятым правилам она называется index.html или index.php. Если в корневой папке сайта отсутствует файл с названием index.html или index.php, возникнет ошибка 403. В качестве индексного файла может использоваться файл, отличный от index.html или index.php. Но название данного файла должно быть указано в настройках.

Проверьте, чтобы:

  • в корневой папке сайта существовал файл главной страницы (индексный файл),
  • в настройках указано соответствующее название файла главной страницы (индексного файла).

Чтобы это проверить войдите в панель управления хостингом и следуйте соответствующей инструкции ниже:

Как проверить, какое название файла главной страницы указано в настройках

  1. 1.

    В левом меню перейдите на страницу Сайты.

  2. 2.

    Выберите домен, на котором возникает ошибка 403, и нажмите кнопку Изменить.

  3. 3.

    В пункте «Индексная страница» в поле ввода должно быть указано название файла главной страницы сайта. По умолчанию index.php index.html.



    14022022-oshibka-403-1.png

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

Как проверить наличие индексного файла в корневой папке

  1. 1.

    В левом меню перейдите на страницу Сайты.

  2. 2.

    Выберите домен, на котором возникает ошибка 403, и нажмите кнопку Файлы сайта. Откроется корневая папка вашего сайта.

  3. 3.

    Убедитесь, что в данной папке существует индексный файл, название которого указано в настройках домена:



    14022022-oshibka-403-2.png

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

Как проверить, какое название файла главной страницы указано в настройках

Для панели управления CPanel название индексного файла установлено по умолчанию index.html и index.php. Изменить его можно только вручную, через файл .htaccess. Поэтому в случае с cPanel необходимо убедиться только в том, что в корневой папке сайта существует файл index.html или index.php.

Как проверить наличие индексного файла в корневой папке

Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.

  1. 1.

    В разделе «Домены» перейдите на страницу Домены:




  2. 2.

    Нажмите по строке, где указана корневая папка домена, на котором возникает ошибка 403. Откроется корневая папка вашего сайта:




  3. 3.

    Убедитесь, что в данной папке существует индексный файл, название которого указано в настройках домена.




Если индексный файл index.html или index.php существует в корневой папке сайта, но 403 ошибка сохраняется, переходите к следующим действиям.

Как проверить, какое название файла главной страницы указано в настройках

Для панели управления Plesk название индексного файла установлено по умолчанию index.html и index.php. Изменить его можно только вручную, через файл .htaccess. Поэтому в случае с панелью Plesk необходимо убедиться только в том, что в корневой папке сайта существует файл index.html или index.php.

Как проверить наличие индексного файла в корневой папке

  1. 1.

    Под нужным доменом нажмите по строке, где указана корневая папка домена. Откроется корневая папка вашего сайта.

  2. 2.

    Убедитесь, что в данной папке существует индексный файл, название которого указано в настройках домена.




Если индексный файл index.html или index.php существует в корневой папке сайта, но 403 ошибка сохраняется, то переходите к следующим действиям.

Установлены некорректные права на файлы и каталоги сайта

В большинстве случаев корректными правами для каталогов являются «755», а для файлов «644». Проверьте и измените права на файлы и папки.

Если все права доступа к файлам и папкам указаны корректно, перейдите к следующему шагу.

Файлы сайта находятся не в корневой директории

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

Чтобы узнать корневую директорию и проверить, загружены ли в неё файлы сайта, выберите свою панель и следуйте соответствующей инструкции:

  1. 1.

    В левом меню перейдите на страницу Сайты.

  2. 2.

    Выберите домен, на котором возникает ошибка 403, и нажмите кнопку Файлы сайта.

  3. 3.

    Откроется корневая папка вашего сайта. Убедитесь, что файлы сайта загружены в эту папку, а не в подпапку.



    14022022-oshibka-403-3.png

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

Обратите внимание: если вид вашей панели управления отличается от представленного в статье, в разделе «Основная информация» переключите тему с paper_lantern на jupiter.

  1. 1.

    В разделе «Домены» перейдите на страницу Домены:




  2. 2.

    Нажмите по строке, где указана корневая папка домена, на котором возникает ошибка 403. Откроется корневая папка вашего сайта:




  3. 3.

    Убедитесь, что файлы сайта загружены в эту папку, а не в подпапку.




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

  1. 1.

    Под нужным доменом нажмите по строке, где указана корневая папка домена. Откроется корневая папка вашего сайта.

  2. 2.

    Убедитесь, что файлы сайта загружены в эту папку, а не в подпапку.




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

Неправильно настроен файл .htaccess (только для хостинга Linux)

Проверьте правила в конфигурационном файле .htaccess. Попробуйте временно изменить имя файла .htaccess, например, на .htaccess_old, и проверьте работоспособность сайта.

Если сайт станет доступен или на нём будет отображаться другая ошибка (не 403), дело в некорректных правилах или директивах, заданных в .htaccess.

Чтобы поправить, обратитесь к разработчикам сайта. Как правило, проблемы связаны с условиями «deny from all» и «RewriteRule».

Если вы используете на своём сайте CMS (например, WordPress, Bitrix и т.п.), вам может помочь замена существующего файла .htaccess на стандартный для вашей CMS.

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

Некорректная версия ASP.NET (только для хостинга для ASP.NET)

Ошибка может возникнуть, если ваш сайт написан для версии ASP.NET 4.x, а на услуге хостинга установлен ASP.NET 3.5. Чтобы изменить версию ASP.NET для услуги хостинга, оставьте заявку в службу поддержки.

Некорректная работа плагинов в WordPress

Если ваш сайт сделан на WordPress, нужно проверить, не мешают ли работе сайта плагины.

Сначала обновите все плагины до последней версии. Иногда устаревшие версии работают некорректно и могут появляться различные ошибки.



Обновить плагин в WordPress

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

Что может сделать пользователь со своей стороны

  1. Проверьте правильность написания URL. Возможно, адрес был введён неверно, поэтому браузер выдал ошибку. Также обратите внимание, что вы вводите адрес веб-страницы или файла, а не каталога. Обычный URL-адрес заканчивается на .com, .ru .php, .html. URL-адрес каталога обычно заканчивается символом «/».
  2. Убедитесь, что у вас действительно есть доступ к этому сайту. Некоторые корпоративные сайты ограничивают виды пользователей, которые могут посещать сервис или для просмотра нужно вводить корпоративный VPN.
  3. Обновите страницу или зайдите позже. Если проблема на стороне владельца сайта, подождите, когда он устранит неполадку.
  4. Очистите кэш и cookies браузера. Это может быть эффективно, если ранее вы заходили на сайт без проблем.
  5. Сайт ограничен для пользователей определённого региона. Каждому устройству, который работает с интернетом присвоен IP-адрес, который содержит информацию о регионе, где пользуются устройством. Если вы пытаетесь зайти на сайт, который можно просматривать только в определенном месте, появляется ошибка 403. Для решения этой проблемы можно использовать прокси-сервер или VPN.
  6. Если вы уверены, что сайт работает у других пользователей и вы попробовали все вышеперечисленные способы, обратитесь к интернет-провайдеру. Поставщик интернета мог попасть в чёрный список, что привело к ошибке 403 Forbidden на страницах одного или нескольких сайтов.

«Четырёхсотые» коды состояния описывают проблемы на стороне клиента: обычно они возникают, когда браузер отправляет серверу некорректный HTTP-запрос.

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

  • Что означает ошибка 403 (Forbidden)
  • Что могло пойти не так
  • Ошибки на стороне пользователя
  • Ошибки на стороне сайта
  • Ограничения на стороне хостера или провайдера
  • Как исправить ошибку 403
  • Что делать владельцу сайта
  • Что делать пользователю

Ошибка 403 (Forbidden) — это когда сервер понял запрос, но почему-то отказывается выполнять его и отдавать браузеру HTML-код страницы.

Помимо «Forbidden», сервер может описать ошибку и другими словами: «error access denied» (доступ запрещён), «you don’t have permission to access» (нет разрешения на вход) и так далее. Сообщения разные, но смысл один.

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

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

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

Неправильный URL-адрес. Возможно, вы случайно постучались на какую-то секретную страничку, а это ни вам, ни серверу не нужно. Банально, но стоит перепроверить ссылку ещё разок.

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

  • Неправильные данные в кэше. Тогда можно почистить его или перезагрузить страницу сочетанием Ctrl + F5 (при таком принудительном обновлении кэш игнорируется).
  • Устаревшие данные в cookies. Если проблема в этом, то достаточно почистить их, и всё заработает.
  • Вы заходите на страницу со смартфона, на котором включён режим экономии трафика. Из-за него браузер может не передавать сайту какие-то нужные ему данные — это и вызывает HTTP-ошибку Forbidden. В этом случае достаточно отключить экономию трафика.

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

Кадр: сериал «Парки и зоны отдыха» / NBC

«Forbidden» может возникнуть, если что-то не так с компонентами сайта. Вот несколько возможных проблем, которые может и должен решить администратор сайта.

Некорректный индексный файл. Это файл, который указывает на главную страницу домена или поддомена. Нужно, чтобы у него были правильное название и формат — а они, в свою очередь, определяются CMS, которой вы пользуетесь. Например, для сайтов на WordPress это может быть index.html, index.htm или index.php.

А ещё индексный файл должен находиться в корневой папке домена или поддомена — смотря к чему он относится.

Неправильно расположены файлы сайта. Как и index, другие файлы сайта тоже должны лежать в корневой директории. Где именно — зависит от CMS и хостинга, которые вы используете.

Неверно настроены права доступа. У каждого файла и папки есть права доступа, которые состоят из трёх цифр от 0 до 7: первая — права владельца, вторая — групповые права, третья — публичные права. Сама цифра означает, какие права предоставлены этой группе.

Если у пользователя нет прав на выполнение действия, то он получит HTTP-ошибку 403 Forbidden. Обычно на папки выставляют доступ 755, на файлы — 644.

Проблемы с плагином. Если вы устанавливали плагины для своей CMS, то вызвать код 403 может какой-то из них. Возможно, он не обновился до последней версии, повреждён или несовместим с конфигурациями сайта.

Вот как это проверить, если у вас WordPress:

  • Перейдите в раздел wp-content и найдите папку plugins.
  • Переименуйте её — это отключит работу всех плагинов.
  • Если проблема уйдёт, значит, дело было в плагинах.

Далее можно включать плагины обратно и искать конкретного виновника. Чтобы это сделать, отключайте их по очереди и обновляйте страницу — где-то по пути точно обнаружите, где с каким плагином проблема.

Некорректные указания в файле .htaccess. Если вы используете Apache Web Server, попробуйте переименовать файл .htaccess. Так же как и с плагинами, это отключит его и позволит понять, виновен ли он в ошибке.

Если дело всё-таки в .htaccess, проверьте и исправьте его директивы. Вот на какие условия стоит обратить внимание:

  • deny (запрещает доступ);
  • allow (разрешает доступ);
  • require (запрещает или разрешает доступ всем, кроме указанных пользователей);
  • redirect (перенаправляет запрос на другой URL);
  • RewriteRule (преобразует строку с помощью регулярных выражений).

Действия пользователя блокирует брандмауэр. Брандмауэры веб-приложений могут автоматически блокировать действия пользователей, которые считают вредоносными, и возвращать им Forbidden.

Чтобы проверить, в этом ли дело, отключите брандмауэр и повторите запрещённое действие. Если сработает — проблема найдена. Проверьте журнал брандмауэра: там должна быть указана конкретная причина блокировки запроса.

Узнав причину, добавьте её в исключения, и такие запросы будут выполняться корректно.

Тариф хостинга не поддерживает инструменты. Например, вы пишете на PHP 8, а тариф рассчитан только на PHP 7.4. В таком случае придётся либо перейти на другую версию инструмента, либо сменить тариф (а может, и целого хостера).

Бывает так: с логикой на сервере всё в порядке, HTTP-запрос составлен корректно, а ошибка 403 всё равно возникает. Но подождите кричать «Тысяча чертей!» — возможно, шайба на стороне посредника.

Хостер прекратил обслуживание сайта. Просрочка платежа, нарушение условий хостинга, блокировки Роскомнадзора и другие малоприятные истории. Самое время проверить почту — обычно доступ к сайту не отключают без предупреждения.

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

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

Да-а, такая маленькая ошибка, а проблем — как с запуском Falcon Heavy на Марс. Держите чек-лист, который поможет не запутаться и быстро всё пофиксить.

Выясните, на чьей стороне проблема. Во-первых, зайдите на сайт самостоятельно — лучше один раз увидеть, чем прочитать тысячу тикетов в техподдержке. Во-вторых, проверьте почту — нет ли там писем счастья от хостера или Роскомнадзора?

Проверьте настройки сайта. Пробегитесь по списку ошибок, о которых мы писали выше. Перебирайте один вариант за другим, пока не поймёте, где собака зарыта.

Если ничего не помогает — обратитесь за помощью к своему хостинг-провайдеру.

  • Перепроверьте URL страницы: правильный ли он? Вы могли кликнуть по ошибочной ссылке или сайт переехал на другой адрес, а поисковики этого ещё не поняли.
  • Проверьте, авторизованы ли вы на сайте. Залогиньтесь, если есть такая возможность.
  • Зайдите на страницу с другого устройства. Если сайт заработал — проблема в устройстве. Попробуйте перезагрузить страницу, почистить кэш и cookies браузера или отключить экономию трафика.
  • Включите или выключите VPN. Возможно, доступ к сайту блокируется по IP-адресу для пользователей из определённой страны или региона. Попробуйте использовать IP-адреса разных стран.
  • Подключитесь к другой сети. Например, если пользуетесь 4G, перейдите на Wi-Fi. Это поможет понять, есть ли проблемы на стороне поставщика интернета.

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

Update October 2016

4 years ago, since this answer is used as a reference by many, and while I learned a lot from security perspective during these years,
I feel I am responsible to clarify some important notes, and I’ve update my answer accordingly.

The original answer is correct but not safe for some production environments,
in addition I would like to explain some issues that you might fall into while setting up your environment.

If you are looking for a quick solution and SECURITY IS NOT A MATTER, i.e development env, skip and read the original answer instead

Many scenarios can lead to 403 Forbidden:


A. Directory Indexes (from mod_autoindex.c)

When you access a directory and there is no default file found in this directory
AND Apache Options Indexes is not enabled for this directory.

A.1. DirectoryIndex option example

DirectoryIndex index.html default.php welcome.php

A.2. Options Indexes option

If set, Apache will list the directory content if no default file found (from the above 👆🏻 option)

If none of the conditions above is satisfied

You will receive a 403 Forbidden

Recommendations

  • You should not allow directory listing unless REALLY needed.
  • Restrict the default index DirectoryIndex to the minimum.
  • If you want to modify, restrict the modification to the needed directory ONLY, for instance, use .htaccess files, or put your modification inside the <Directory /my/directory> directive

B. deny,allow directives (Apache 2.2)

Mentioned by @Radu, @Simon A. Eugster in the comments
You request is denied, blacklisted or whitelisted by those directives.

I will not post a full explanation, but I think some examples may help you understand,
in short remember this rule:

IF MATCHED BY BOTH, THE LAST DIRECTIVE IS THE ONE THAT WILL WIN

Order allow,deny

Deny will win if matched by both directives (even if an allow directive is written after the deny in the conf)

Order deny,allow

allow will win if matched by both directives

Example 1

Order allow,deny
Allow from localhost mydomain.example

Only localhost and *.mydomain.example can access this, all other hosts are denied

Example 2

Order allow,deny
Deny from evil.example
Allow from safe.evil.example # <-- has no effect since this will be evaluated first

All requests are denied, the last line may trick you, but remember that if matched by both the last win rule (here Deny is the last), same as written:

Order allow,deny
Allow from safe.evil.example
Deny from evil.example # <-- will override the previous one

Example 4

Order deny,allow
Allow from site.example
Deny from untrusted.site.example # <-- has no effect since this will be matched by the above `Allow` directive

Requests are accepted from all hosts

Example 4: typical for public sites (allow unless blacklisted)

Order allow,deny
Allow from all
Deny from hacker1.example
Deny from hacker2.example

Example 5: typical for intranet and secure sites (deny unless whitelisted)

Order deny,allow
Deny from all
Allow from mypc.localdomain
Allow from managment.localdomain

C. Require directive (Apache 2.4)

Apache 2.4 use a new module called mod_authz_host

Require all granted => Allow all requests

Require all denied => Deny all requests

Require host safe.example => Only from safe.example are allowed


D. Files permissions

One thing that most people do it wrong is configuring files permissions,

The GOLDEN RULE is

STARTS WITH NO PERMISSION AND ADD AS PER YOUR NEED

In Linux:

  • Directories should have the Execute permission

  • Files should have the Read permission

  • YES, you are right DO NOT ADD Execute permission for files

for instance, I use this script to setup the folders permissions

# setting permissions for /var/www/mysite.example

# read permission ONLY for the owner
chmod -R /var/www/mysite.example 400

# add execute for folders only
find /var/www/mysite.example -type d -exec chmod -R u+x {} ;

# allow file uploads
chmod -R /var/www/mysite.example/public/uploads u+w

# allow log writing to this folder
chmod -R /var/www/mysite.example/logs/

I posted this code as an example, setup may vary in other situations



Original Answer

I faced the same issue, but I solved it by setting the options directive either in the global directory setting in the httpd.conf or in the specific directory block in httpd-vhosts.conf:

Options Indexes FollowSymLinks Includes ExecCGI

By default, your global directory settings is (httpd.conf line ~188):

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

set the options to:
Options Indexes FollowSymLinks Includes ExecCGI

Finally, it should look like:

<Directory />
    #Options FollowSymLinks
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

Also try changing Order deny,allow and Allow from all lines by Require all granted.

Appendix

Directory Indexes source code (some code remove for brevity)

if (allow_opts & OPT_INDEXES) {
     return index_directory(r, d);
} else {
        const char *index_names = apr_table_get(r->notes, "dir-index-names");

        ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r, APLOGNO(01276)
                      "Cannot serve directory %s: No matching DirectoryIndex (%s) found, and "
                      "server-generated directory index forbidden by "
                      "Options directive",
                       r->filename,
                       index_names ? index_names : "none");
        return HTTP_FORBIDDEN;
    }

Как исправить ошибку Forbidden – You don’t have permission to access / on this server?

Полное сообщение об ошибке выглядит так: «Forbidden – You don’t have permission to access / on this server». Сопровождается кодом 403 и является одним из самых распространенных. Появляется при запросе браузером сервера, который в силу каких-то проблем с доступом не может быть запрошен. Система проверяет права пользователя и считает их недостаточными. Он может появляться на любом сайте как вследствие неправильных настроек веб-ресурса, так и по причине ограничения доступа к некоторым разделам. Мы рассмотрим основные причины ошибки и способы их исправления далее.

Содержание

  • Разновидности ошибки с кодом 403
  • Причины 403 Error
  • Решения ошибки You don’t have permission to access
    • 1) Настройка файла .htaccess
    • 2) Установить права доступа
    • 3) Изменить владельца папки
    • 4) Настроить систему защиты
    • 5) Выключить плагины

Вместе с кодом 403 могут появляться дополнительные сообщения, уточняющие природу проблемы. Однако практически во всех случаях смысл прост – доступ заблокирован или ваших прав недостаточно для просмотра страницы. Конкретные сообщения отличаются в зависимости от CMS, которую использует данный сайт.

Частые коды ошибок, связанные с 403 и You don’t have permission to access:

  • HTTP Error 403 – Forbidden;
  • Forbidden: You don’t have permission to access [directory] on this server;
  • У вас нет прав доступа;
  • 403 Sorry! Access denied;
  • Access to this resource on the server is denied;
  • 403 Доступ запрещён администратором;
  • Access Denied You don’t have permission to access.

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

Причины 403 Error

Основная причина ошибки 403 уже указана в сообщении к сбою – у вас нет прав доступа к серверу. Возникает другой вопрос: «Почему так получилось»? Скорее всего где-то установлена соответствующая настройка, блокирующая доступ.

Основные причины ошибки 403:

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

Решения ошибки You don’t have permission to access

Если вы обычный пользователь сайта и у вас появляется сообщение «You don’t have permission to access», нужно проверить, к какой странице вы пытаетесь достучаться. Часто бывает, что администратор указывает неправильную ссылки и сбрасывает путь, ведущий к админ-панели. Он действительно увидит контент по ней, но остальные пользователи – нет. Возможно, нужна просто другая ссылка.

Еще один вариант развития ситуации – страница доступна только зарегистрированным пользователям. Если это форум, социальная сеть и т. п., попробуйте войти в свой аккаунт и снова открыть ссылку. Дополнительно можно попробовать почистить куки и кеш. Пожалуй, это все, что может сделать обычный пользователь.

Все остальные исправления ориентированы на владельцев или администраторов серверов, которые не могут открыть какие-то страницы своего сайта.

1) Настройка файла .htaccess

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

Forbidden – You don’t have permission to access / on this server

Чтобы вручную подкорректировать параметры, нужно открыть файл блокнотом и посмотреть подозрительные строки. Это могут быть «Deny from …», «Require IP …», «R=403» или «RedirectMatch 403». Их параметры нужно либо заменить, либо убрать строки вовсе. Однако в рамках этого руководства мы не будем подробно разбираться с тонкостями работы .htaccess.

2) Установить права доступа

Еще один вариант, если ваш хостинг поддерживает подобное решение, – перейти в права доступа к папке и выставить подходящие. В параметрах есть несколько вариантов: владелец, группа и мир. Можно выставить только для группы «Администраторы» или открыть доступ для всех.

Нужно открыть «Атрибуты файла» и в строку числовое значение вставить цифры:

  • для папок – 750 или 755;
  • для файлов – 640 или 644;
  • wp-config.php – 400 или 440.

Forbidden – You don’t have permission to access / on this server

3) Изменить владельца папки

Очень часто случайным образом получается, что владелец файла или каталога установлен неправильно. Если доступ разрешен только владельцу, такие директории будут недоступны. Самый простой способ исправления проблемы – добавление доверенных пользователей, в том числе веб-сервер. Плюс можно изменить владельца данных, но потребуется SSH-подключение и ввод команды chown пользователь:группа /путь/к/файлу.

4) Настроить систему защиты

Фаерволл сервера может распознавать обычное действие в качестве опасного для сервера. В этом случае ModSecurity блокирует доступ, перебрасывая на страницу с ошибкой 403. Если подобное поведение неправильное, нужно всего лишь перейти в логи, посмотреть причину проблемы и подкорректировать параметры фаерволла.

5) Выключить плагины

Когда все базовые процедуры настройки доступа завершены, но улучшение не наступило, следует отключить все аддоны. Иногда они неправильно работают в паре с другими. Стоит лишь временно выключить плагины и посмотреть, как изменится работа сервера. Для этого в «Менеджере файлов» cPanel или другой утилите найти папку plugins и добавить к ней –old.

Forbidden – You don’t have permission to access / on this server

Перечисленные 5 способов должны исправить все виды ошибок 403, в том числе с сообщением Forbidden – You don’t have permission to access / on this server. Такую уверенность нам дает опыт и логика, ведь мы проверили все права доступа и подкорректировали их в соответствии с задачами.

Понравилась статья? Поделить с друзьями:
  • For honor вылетает с ошибкой
  • For honor ps4 ошибка подключения
  • For event in longpoll listen ошибка
  • For control variable already in use vba ошибка
  • Football manager произошла серьезная ошибка