Почему я получаю Сетевую ошибку: 403 Запрещено в firebug для файлов, к которым я не пытаюсь получить доступ?

Вопросы

Я хотел бы знать

  • почему я получаю сообщение об ошибке сети: 403 Запрещено в firebug для файлов, к которым я не пытаюсь получить доступ?

  • это может вызвать серьезные проблемы на веб-сервере?

  • как это исправить.

  • Почему мой браузер пытается получить доступ к этим файлам в сообщении об ошибке?

ПОДРОБНОСТИ

Я использую Wampserver 2.2 для доступа к папке через браузер. Браузер находится на том же компьютере, что и сервер. Компьютер работает под управлением Windows 7 Ultimate.

Когда я просматриваю веб-папку через мой браузер, hXXp://localhost/folder

Я могу видеть содержимое папки хорошовведите описание здесь

но в firebug я получаю ошибку сети: 403 запрещено

введите описание здесь

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

Я проверяю apache_error.log и вижу

[Wed Sep 26 00:05:10 2012] [ошибка] [клиент 127.0.0.1] клиент отклонен из-за конфигурации сервера: C:/ apache2, реферер: hxxp: // localhost / folder /

Wampserver 2.2 установлен на диск D.

Я взглянул на файл httpd.conf, но не смог найти никаких ссылок на c:

Когда я смотрю в Apache access.log я вижу

127.0.0.1 - - [26/Sep/2012:00:05:10 +0900] "GET /icons/blank.gif HTTP/1.1" 403 217
127.0.0.1 - - [26/Sep/2012:00:05:10 +0900] "GET /icons/back.gif HTTP/1.1" 403 216
127.0.0.1 - - [26/Sep/2012:00:05:10 +0900] "GET /icons/text.gif HTTP/1.1" 403 216
127.0.0.1 - - [26/Sep/2012:00:05:10 +0900] "GET /icons/unknown.gif HTTP/1.1" 403 219
127.0.0.1 - - [26/Sep/2012:00:05:10 +0900] "GET /icons/folder.gif HTTP/1.1" 403 218

КОНФИГУРАЦИИ

  • Wampserver 2.2 установлен на диске D
  • Apache 2.2.22
  • PHP 5.4.3
  • MySQL 5.5.24
  • Firebug 1.10.3
  • Firefox 15.0.1

3 ответа

Решение

У тебя есть Options Indexes включен где-то в вашей конфигурации. Это то, что заставляет Apache генерировать страницу, которую вы видите выше.

Эта страница состоит из HTML и слева от каждого элемента (где вы видите [ ] а также [TXT] и т.д.) обычно появляется изображение, представляющее тип файла, для которого предназначена эта строка. Эти изображения запрашиваются, как и с любой обычной HTML-страницы, и они приходят из /icons/, На самом деле это не папка в вашем корне, а псевдонимы, использующие что-то вроде Alias /icons/ "/usr/share/apache2/icons/",

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

Это вряд ли вызовет какие-либо серьезные проблемы, но это не то, что вы обычно оставляете активным (либо Options Indexes или же Alias /icons/ ...) на производственном сервере.

Чтобы исправить проблему с иконками, мне пришлось отредактировать httpd-autoindex.conf, расположенный в \bin\apache\apache2.2.22\conf\extra

Я изменился

Alias /icons/ "c:/apache2/icons/"

в

Alias /icons/ "D:/wamp/bin/apache/apache2.2.22/icons/"

а также

<Directory "c:/apache2/icons">

в

<Directory "D:/wamp/bin/apache/apache2.2.22/icons/">

Иконки теперь будут отображаться как обычно.

Большое спасибо Ладададада за то, что он указал мне правильное направление!

  • Почему я получаю сообщение об ошибке сети: 403 Запрещено в firebug для файлов, к которым я не пытаюсь получить доступ?
  1. У вас есть параметры индексов где-то в httpd.conf. Это позволяет вам видеть список файлов в каталоге, и Apache автоматически сгенерирует эту страницу для вас и автоматически попытается добавить значки для известных типов. В живой (производственной) среде у вас не должно быть Индексов.

Скорее всего, где ваш корень документа определен. Это может выглядеть примерно так:

DocumentRoot "${WEBROOT}/"
<Directory "${WEBROOT}/">
    HeaderName HEADER.html
    ReadmeName FOOTER.html
    IndexIgnore FOOTER.html HEADER.html
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
  1. Почему вы получаете Ошибка сети: 403 Запрещено? Вы получаете это, потому что Apache пытается получить доступ к значкам из каталога, который не существует в указанной локализации. Тщательно проверьте пути - как в httpd.conf, так и в httpd-autoindex.conf. Вероятно, проблема в пропущенном слэше.
  • Это может вызвать серьезные проблемы на веб-сервере?
  1. Само по себе это не может вызвать никаких проблем. Но это покажет файлы в каталоге. Так что любой может свободно просматривать ваши файлы и каталоги и, возможно, иметь доступ к файлам, к которым не следует обращаться таким образом, что является проблемой. Так что не техническая проблема, а человеческая.
  • Как это исправить?
  1. Проверьте пути, внимательно!
  • Почему мой браузер пытается получить доступ к этим файлам в сообщении об ошибке?
  1. Браузер просто показывает страницу, сгенерированную Apache. Это пытается получить доступ ко всем изображениям на странице и показать их. Так что это не ошибка браузера.:)
Другие вопросы по тегам