部署安全

将框架部署到非项目目录

将 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_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目录内,由于利用命名空间进行类文件的自动加载所以不能改写目录名称。