【发布时间】:2012-10-12 20:53:20
【问题描述】:
我的 php 网站有多个 php 文件,其中一些用于用户界面,一些是帮助文件(这些文件通过数据库相互通信以返回结果)。现在我需要该用户不能从他们的直接 url 执行帮助文件。
e.g. mydomain.com/login.php ---------- (Interface file, must be accessible to user)
mydomain.com/login_handle.php ----(Healper file, must not be accessible to user)
所以我需要的是用户可以执行和浏览mydomain.com/login.php 但不能执行mydomain.com/login_handle.php,而login.php 和handle_login.php 保持通信并且可以互相访问。谢谢,
编辑:抱歉,我使用的是共享主机,并且没有除 public_html 之外的文件夹。
【问题讨论】:
-
将它们存储在 webroot 之外?
-
php 文件还能互相通信吗?
-
理想情况下,唯一应该存储在 webroot 中的是您的路由器;所有请求都应该被定向到路由器,它会负责包含位于您的 webroot 之外的代码。
-
此外,只有类实现的文件在请求时不应输出任何内容并输出到浏览器,除非您的代码有点“脏”。
-
要么将它们存储在您的 webroot 之外,要么使用您的 Web 服务器配置创建一个隐藏的
include文件夹。这可能属于服务器故障,因为它不是编程问题。