HTML-страница индекса и файлы в этом каталоге - PullRequest
1 голос
/ 23 марта 2010

На моем веб-сайте есть страница индекса, но если я удалю эту страницу индекса, пользователи увидят файлы в этом каталоге, например мой сайт: XYZ.com, и у меня есть каталог с именем "My_Dir" поэтому, когда пользователь набрал «XYZ.com/My_Dir», он увидит index.html, если он есть, но если его там нет, он увидит список всех моих файлов внутри «My_Dir», так что это безопасно предположить, что с индексной страницей в любом из моих подкаталогов я могу скрыть все файлы в этих каталогах от пользователей, другими словами, если у меня есть «123.txt, abc.html и index.html» в «My_Dir», пользователи не смогут увидеть «123.txt, abc.html» из-за существования «index.html» [если, конечно, я не упомяну эти два файла в index.html]?

Frank

Ответы [ 5 ]

2 голосов
/ 23 марта 2010

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

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

1 голос
/ 23 марта 2010

Вам нужно запретить просмотр каталогов на вашем веб-сервере.

Я не уверен, как это сделать на Apache, но в

IIS 6

  1. Richt-Click на конкретном веб-сайте в разделе "Веб-сайты", напр. «Веб-сайт по умолчанию»
  2. Нажмите на вкладку «Домашний каталог»
  3. Убедитесь, что «просмотр каталога» не отмечен

IIS7

  1. Нажмите на конкретный веб-сайт в разделе Сайты в IIS
  2. Двойной клик по «Просмотр каталогов»
  3. Нажмите на ссылку Отключить в правом окне
0 голосов
/ 23 марта 2010

Это очень сильно зависит от вашего веб-сервера, но да, по умолчанию для Apache и IIS (наиболее распространенных веб-серверов) является то, что страница index.html, если она присутствует, всегда будет представлением по умолчанию, если вы обращаетесь к каталог.

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

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

0 голосов
/ 23 марта 2010

Вы правы, что они не смогут увидеть их, просто посетив URL-адрес, который заканчивается в имени каталога в стандартном браузере. Однако если у вас есть другие доступные варианты подключения, такие как FTP, они, скорее всего, смогут искать, где захотят, после установления действующего подключения.

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

Также обратите внимание на второй абзац Алекса (проклятия, я был FGIW-ed).

0 голосов
/ 23 марта 2010

Это безопасное предположение: на большинстве серверов (по крайней мере, с Apache AFAIK) страницей по умолчанию является index.html, поэтому она будет отображать ее как веб-страницу вместо отображения структуры файла.

То, что они не видят файлы, не означает, что они не могут угадать abc.html или secret.txt. Стоит узнать о MOD_REWRITE (если вы работаете на Apache) или иначе получить представление о настройках по умолчанию на вашем сервере. Вы знаете, какое программное обеспечение он запускает?

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