Где должны находиться файлы PHP для включений и файлы PHP для вызовов AJAX на сервере?

У меня есть сайт, который использует несколько включений (для нижнего колонтитула, обработки электронной почты и т. Д.). Я также использую AJAX, который вызывает определенный URL для загрузки данных. Я немного запутался относительно того, где эти файлы должны быть расположены на сервере. Я предполагаю, что по соображениям безопасности плохая идея иметь файлы или пути, видимые для публики. Однако, когда я размещаю файлы за пределами моей папки public_html, просто использование "./filename" не работает.

ОБНОВЛЕНИЕ: Если я не предоставлю полное имя пути, включение не работает. Я получаю сообщение об ошибке при использовании следующего пути:

<?php include('../includes/footer.php');?>

Файл нижнего колонтитула находится по следующему пути: home/user/php/includes/footer.php.

Мой сайт находится по адресу: home/user/public_html/site.com/files

ОБНОВЛЕНИЕ 2: я добавил новый include_path: "/home/user/php". Я изменил включение на "include /footer.php". Сейчас работает правильно.

Однако, если у кого-то есть какие-либо мысли по поводу моего первоначального вопроса, я буду признателен.

3 ответа

Решение

Похоже, что вы можете иметь его вне корня вашего документа.

Если ваш сайт должен быть в / home / user / public_html (или аналогичном), попробуйте добавить папку include в / home / user / public_html / includes и просто обратитесь к / include

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

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

Если ваш сайт находится в чем-то /public_html, вы можете использовать папку что-то / include / footer.php

include '../include/footer.php'

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

Файлы PHP по запросу будут сначала обработаны PHP. Таким образом, пользователь никогда не сможет получить фактический файл php. Просто это вывод.

Другие вопросы по тегам