终止直接脚本访问

时间:2015-08-22 20:17:17

标签: php security web

我在一堆php项目中克服了这种安全措施。在每个php文件的顶部,检查是否通过直接访问(例如通过浏览器)调用脚本,或者是否正确包含/需要站点入口点:

if(!defined('SYSTEM_ENTRYPOINT'))
    die();

这是在php项目中使用的好习惯吗?这样做时我应该考虑什么?有边缘情况吗?不检查时可能会暴露哪些数据?

1 个答案:

答案 0 :(得分:3)

您应该使用URL重写来处理它。以某种方式组织您的php文件,以便访问者无法触及您的程序逻辑。

例如,将代码分为两个目录:web和src。 Web只能contian contian index.php ant htaccess文件来路由所有请求。 Src应该是所有程序逻辑(控制器,db访问等等)。在src / index.php中,编写一些逻辑来决定从src文件夹中包含哪个控制器。

将“web”目录设为您网站的网站根目录,访问者将无法访问任何其他php文件。