Помогите с сомнением в безопасности (PHP MYSQL APACHE Windows) - PullRequest
2 голосов
/ 05 июля 2010

например, у меня есть этот URL: http://localhost/miSite/uploads/ и, делая:
http://localhost/miSite/uploads/../includes/, это приводит к директории (включает) linsting.

Было бы замечательно, если бы вы могли сказать мне, как решить эту проблему.

Ответы [ 3 ]

3 голосов
/ 05 июля 2010

Возможность использования относительных ссылок не является реальной проблемой:

http://localhost/miSite/uploads/../includes/

разрешается до

http://localhost/miSite/includes/

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

Что было бы проблемой real , если бы работало следующее:

http://localhost/../miSite/includes/

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

3 голосов
/ 05 июля 2010

Индексирование каталогов

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

Options -Indexes

2 голосов
/ 05 июля 2010

Вы можете сделать 3 вещи: от наименее безопасных до самых безопасных.

  1. Отключить индексы в соответствии с предложением @ Lizard
  2. Создайте правило в файле htaccess для запрета доступав папки, к которым у людей нет доступа
  3. Переместите файлы, к которым нет доступа, за пределы DocumentRoot.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...