#php #iis #iis-10
#php #iis #iis-10
Вопрос:
Мне сказали, что по соображениям безопасности все файлы обработки данных PHP должны располагаться за пределами корневого каталога веб-сайта. У меня есть веб-сайт, размещенный в IIS 10, с папкой includes вне корня. Что-то вроде этого: — веб-сайт: C:inetpubwwwrootindex.php и PHP-файлы C:includessubmit.inc.php Очевидно, что это не работает, так как http:localhostincludessubmit.inc.php не существует. The submit.inc.php это файл, который AJAX использует для отправки данных формы обратно на сервер.
Итак, должен ли я беспокоиться о разделении файлов PHP в первую очередь, и если да, то как я могу ссылаться на файлы вне физического пути веб-сайта в IIS?
Спасибо.
Ответ №1:
У вас должны быть файлы PHP (или файл, если вы используете шаблон Front Controller), которые находятся внутри корня.
Они предоставляют конечные точки (т. Е. Имеют URL-адреса), к которым браузеры и другие клиенты могут отправлять запросы.
Оттуда вы можете загружать зависимости извне с помощью root require_once
.
Основная цель сохранения обработки данных за пределами корневого каталога — защитить вашу бизнес-логику и учетные данные безопасности от утечки, если ошибка конфигурации HTTP-сервера приведет к тому, что ваши PHP-файлы будут отправлены в необработанном виде вместо их обработки с помощью PHP.
Это не обеспечивается сохранением всего вашего PHP за пределами root.
Комментарии:
1. Спасибо, Квентин, я ценю вашу помощь. Это работает после установки пути includes в конфигурации php.