Где должны находиться файлы PHP для включений и файлы PHP для вызовов AJAX на сервере? - PullRequest
2 голосов
/ 21 мая 2011

У меня есть сайт, который использует несколько включений (для нижнего колонтитула, обработки электронной почты и т. Д.). Я также использую 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". Я изменил включение на «includes / footer.php». Сейчас работает нормально.

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

Ответы [ 3 ]

1 голос
/ 22 мая 2011

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

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

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

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

1 голос
/ 21 мая 2011

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

include '../include/footer.php'

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

0 голосов
/ 21 мая 2011

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

...