PHP包含在Apache密码保护目录中

时间:2010-08-03 19:47:36

标签: php class directory-structure

(这是一个重复,我忘了标记,请原谅)

我正在使用我自己的小框架为客户编写一个小型CMS并遇到一个问题(不是100%确定这是一个问题,但我感觉它会是。)

因此,例如,我有一个News.php类来处理我的所有Blog更新(CMS用户输入)和输出(在实际站点上显示博客数据)。现在,因为它让我觉得更安全,所以我把所有与CMS有关的课程都放在一个受密码保护的“admin”文件夹中。

当我需要将我漂亮的News.php类用于网站的“视图”层时,会出现问题。我假设因为课程将坐在受密码保护的文件夹(admin / includes)中,任何查看博客页面的人都会被提示输入该用户并登录该文件夹以查看博客内容。

有没有办法让本地文件访问受密码保护的目录而不会被提示输入用户和密码信息? (或者这会发生吗?)

AND OR

您是否建议将我的课程存储在网站的单独区域中。我觉得我的课程存放的位置越多,我的课程就越复杂,这很快就会变成一场噩梦。我的最终目标是让我的所有课程安全地隐藏在某个地方。相反,事实上,我一直在复制一些类,以便在管理目录之外或之内使用。

提前感谢您的意见。

2 个答案:

答案 0 :(得分:2)

您不会通过apache包含文件,因此此密码问题不存在。

如果您想保护您的包含,请将它们放在www根目录之外,并且外界的任何人都无法访问它。

答案 1 :(得分:1)

php include()函数应该使用本地文件系统,因此不受apache的.htaccess或其他用户访问控制机制的约束。

整个系统上只应该有一个班级副本。如果/ admin和用户部分都使用它,那么你应该创建一个/ common文件夹来容纳这些通用类/函数。如果直接访问仅包含php类的文件,则不会发生任何事情。如果你是偏执狂,或者如果你喜欢使用deny from all文件扩展名将源代码泄露给攻击者,你可以添加.htaccess .inc