账户中心 我的话题 我的评论 退出系统

phpGrace 框架部署安全

phpGrace 框架部署到非项目目录
将 phpGrace 框架部署到非项目目录可以使得系统更安全,也可以实现多个项目公用一套框架的目的。步骤如下:

1、将 phpGrace 文件夹放到非项目目录,如 : D:\phpGrace
2、改写入口文件,类似以下代码:
<?php
include 'D:\phpGrace\phpGrace.php';


改变app目录名称
将 app 核心目录名改写也可以防止攻击者的目录猜测,如:

<?php
define('PG_PATH', 'myapp'); //改写app目录
include 'D:\phpGrace\phpGrace.php';


在入口页面修改控制器、模型、视图、配置目录及文件名
修改控制器、模型、视图、配置目录及文件名全面避免开源规则暴露文件夹命名的问题,下面的核心文件夹名称都可以通过入口文件提前定义的方式来改变:

if(!defined('PG_PATH')){define('PG_PATH'  , './app');} //项目核心文件夹
if(!defined('PG_CONTROLLER')){define('PG_CONTROLLER', 'controllers');} //控制器文件夹
if(!defined('PG_VIEW')){define('PG_VIEW', 'views');} //视图文件夹
if(!defined('PG_LANG_PACKAGE')){define('PG_LANG_PACKAGE', 'lang');}//语言包文件夹
if(!defined('PG_CONF')){define('PG_CONF', 'config.php');} //配置文件

如入口文件类似以下定义:

<?php
define('PG_PATH', 'myapp');
define('PG_CONTROLLER', 'mycontrollers');
define('PG_VIEW', 'myviews');
include 'D:\phpGrace\phpGrace.php';


说明:
模型和工具类在phpGrace目录内,由于利用命名空间进行类文件的自动加载所以不能改写目录名称。