Запретить прямой доступ к файлам веб-сервера

2727
mk12

Как я могу запретить прямой доступ к моим папкам / css и / scripts и их содержимому? Кроме того, есть ли способ предотвратить прямой доступ к index.php? (Правильный путь - просто перейти на мой веб-сайт, который автоматически загружает домашнюю страницу через index.php, или перейти на определенную страницу с website.com/thepage, которая идет по адресу index.php? Page = thepage. Ни один из моих ссылки напрямую идут на index.php.)

Спасибо!

0
Что именно вы имеете в виду, когда говорите «прямой доступ»? И почему вы хотите предотвратить это? innaM 14 лет назад 0
Под прямым доступом я имею в виду просто ввод URL-адреса и его просмотр, когда он предназначен только для стилизации страницы. mk12 14 лет назад 0
А для таких вещей, как php-файлы, которые отправляют электронное письмо из формы, я не хочу, чтобы пользователи напрямую переходили на этот URL-адрес, это вызвало бы ошибку. mk12 14 лет назад 0
Просто как часто вы получаете пользователей, которые вводят случайные URL-адреса в вашем домене и жалуются, когда они получают ошибки, или "тарабарщина", которая на самом деле является CSS? grawity 14 лет назад 0
website.com/send не настолько «случайный», но в любом случае я делаю это по-другому. mk12 14 лет назад 0

2 ответа на вопрос

3
quack quixote

Я не специалист по веб-разработке, но насколько я понимаю, верно следующее:

  • Загрузка вашего index.phpв браузер выплевывает код страницы, которую браузер получает и отображает. Итак, браузер запрашивает:

    http://website.com/index.php 
  • Код страницы, который он получает, включает в себя определенные файлы CSS и Javascript из вашей директории css/и script/директории. Итак, браузер запрашивает:

    http://website.com/css/mystyle.css http://website.com/script/myscript.js 
  • Чтобы включить эти файлы, браузер должен запросить эти URL-адреса у вашего веб-сервера, а ваш веб-сервер должен обслуживать их с этих URL-адресов.

Если это так, то нет, вы не можете делать то, что просите, не изменив, как включены ваши CSS и файлы сценариев.

Вы можете изменить PHP, чтобы его вывод не включал ссылки на внешние файлы, а включал в себя содержимое этих файлов в виде встроенных разделов вывода PHP. Затем вы можете использовать стандартные элементы управления доступом на веб - сервере, чтобы запретить доступ к css/и script/каталогов.

Хорошо, может быть, я не должен беспокоиться об этом тогда .. mk12 14 лет назад 0
1
MDMarra

Вы можете отключить просмотр каталогов, и тогда люди не смогут видеть содержимое папок, для которых не определен документ по умолчанию. Это то, что вы ищете?

Ну, это уже невозможно, так как website.com/css не будет перечислять каталог, он попытается выполнить index.php? Page = css (а затем перенаправить на страницу с ошибкой). Но website.com/css/style.css отобразит его в виде обычного текста. mk12 14 лет назад 0