PHP включает в Apache защищенные паролем каталоги - PullRequest
0 голосов
/ 03 августа 2010

(ЭТО ДУБЛИКАТ, Я ЗАБЫЛ ЗАМЕТКУ, ПОЖАЛУЙСТА, ПРОЧИТЕ)

Я пишу небольшую CMS для клиента, используя свою собственную маленькую платформу, и сталкиваюсь с одной проблемой (не уверен на 100%, что это проблема, но я чувствую, что это будет).

Так, например, у меня есть класс News.php, который обрабатывает все обновления моего блога (пользовательский ввод CMS) и вывод (отображение данных блога на реальном сайте). Теперь, поскольку это заставляет меня чувствовать себя безопаснее, я кладу все свои занятия, связанные с CMS, в защищенную паролем папку «admin».

Проблема здесь возникает, когда мне нужно использовать мой классный класс News.php для слоя «Просмотр» сайта. Я предполагаю, что поскольку класс будет находиться в папке, защищенной паролем (admin / includes), любому, кто просматривает страницу блога, будет предложено ввести имя пользователя и логин для этой папки, чтобы просмотреть содержимое блога.

Существует ли способ предоставления локальным файлам доступа к каталогам, защищенным паролем, без запроса информации о пользователе и пароле? (или это происходит?)

И ИЛИ

Вы бы порекомендовали хранить мои занятия в отдельном разделе сайта. Я чувствую, что чем больше мест я храню в своих классах, тем сложнее становятся мои включения, что может быстро превратиться в кошмар. Моя конечная цель состояла бы в том, чтобы ВСЕ мои занятия были безопасно спрятаны где-нибудь. Вместо этого я дублировал некоторые классы для использования вне или внутри каталога администратора.

Заранее спасибо за ввод.

Ответы [ 2 ]

2 голосов
/ 03 августа 2010

Вы не будете включать файлы через apache, поэтому проблемы с паролем не существует.

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

1 голос
/ 04 августа 2010

Функция php include() должна использовать локальную файловую систему и, следовательно, не связана ни с Apache .htaccess, ни с другими механизмами контроля доступа пользователей.

Во всей системе должна быть только 1 копия вашего класса. Если он используется как / admin, так и пользовательскими частями, возможно, вам следует создать папку / common для размещения этих классов / функций общего назначения. Если файл, содержащий только класс php, доступен напрямую, ничего не произойдет. Вы можете добавить .htaccess deny from all, если вы параноик, или если вы хотите использовать расширение файла .inc, которое будет передавать исходный код злоумышленнику.

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