application_top文件分析
过滤变量
$_GET、$_POST、$_COOKIE 里变量名不能为系统常量及autoLoadConfig、mosConfig_absolute_path、hash、main
$GET 变量值不能以http开头及带//
定义常量
define('IS_ADMIN_FLAG', false);
define('PAGE_PARSE_START_TIME', microtime());
define('DEBUG_AUTOLOAD', false);
@ini_set("arg_separator.output","&");
加载额外配置文件
如果存在includes/local/configure.php,则加载,一般为二次开发人员添加
设置错误提示
if (defined('STRICT_ERROR_REPORTING') && STRICT_ERROR_REPORTING == true) {
@ini_set('display_errors', TRUE);
error_reporting(version_compare(PHP_VERSION, 5.3, '>=') ? E_ALL & ~E_DEPRECATED & ~E_NOTICE : version_compare(PHP_VERSION, 6.0, '>=') ? E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT : E_ALL & ~E_NOTICE);
} else {
error_reporting(0);
}
设置magic-quotes support
关闭magic-quotes support,包含runtime和sybase
加载配置文件
加载includes/configure.php,如果不存在转到安装页面
判断安装
判断常量DIR_FS_CATALOG和目录DIR_FS_CATALOG.'/includes/classes',不存在则转到安装页面
初始化变量$autoLoadConfig、$loader_file
$autoLoadConfig = array();
if (isset($loaderPrefix)) {
$loaderPrefix = preg_replace('/[a-z_]^/', '', $loaderPrefix);
} else {
$loaderPrefix = 'config';
}
$loader_file = $loaderPrefix . '.core.php';
判断安装
如果include目录下不存在configure.php或autoload_func.php或者缺少数据库操作文件query_factory.php,则转到安装页面。
加载文件
加载include/extra_configures目录下的php文件
加载includes/initsystem.php文件
加载includes/autoload_func.php文件
加载includes/counter.php文件
if ($spider_flag == false) {
require(DIR_WS_INCLUDES . 'counter.php');
}
保存用户IP地址
$customers_ip_address = $_SERVER['REMOTE_ADDR'];
if (!isset($_SESSION['customers_ip_address'])) {
$_SESSION['customers_ip_address'] = $customers_ip_address;
}
includes/initsystem.php作用
加载includes/auto_loaders/config.core.php
加载includes/auto_loaders目录里其余以config.开头的php文件,如果includes/auto_loaders/overrides/目录下有相同文件名文件,则加载以替换上述文件。
$_GET、$_POST、$_COOKIE 里变量名不能为系统常量及autoLoadConfig、mosConfig_absolute_path、hash、main
$GET 变量值不能以http开头及带//
定义常量
define('IS_ADMIN_FLAG', false);
define('PAGE_PARSE_START_TIME', microtime());
define('DEBUG_AUTOLOAD', false);
@ini_set("arg_separator.output","&");
加载额外配置文件
如果存在includes/local/configure.php,则加载,一般为二次开发人员添加
设置错误提示
if (defined('STRICT_ERROR_REPORTING') && STRICT_ERROR_REPORTING == true) {
@ini_set('display_errors', TRUE);
error_reporting(version_compare(PHP_VERSION, 5.3, '>=') ? E_ALL & ~E_DEPRECATED & ~E_NOTICE : version_compare(PHP_VERSION, 6.0, '>=') ? E_ALL & ~E_DEPRECATED & ~E_NOTICE & ~E_STRICT : E_ALL & ~E_NOTICE);
} else {
error_reporting(0);
}
设置magic-quotes support
关闭magic-quotes support,包含runtime和sybase
加载配置文件
加载includes/configure.php,如果不存在转到安装页面
判断安装
判断常量DIR_FS_CATALOG和目录DIR_FS_CATALOG.'/includes/classes',不存在则转到安装页面
初始化变量$autoLoadConfig、$loader_file
$autoLoadConfig = array();
if (isset($loaderPrefix)) {
$loaderPrefix = preg_replace('/[a-z_]^/', '', $loaderPrefix);
} else {
$loaderPrefix = 'config';
}
$loader_file = $loaderPrefix . '.core.php';
判断安装
如果include目录下不存在configure.php或autoload_func.php或者缺少数据库操作文件query_factory.php,则转到安装页面。
加载文件
加载include/extra_configures目录下的php文件
加载includes/initsystem.php文件
加载includes/autoload_func.php文件
加载includes/counter.php文件
if ($spider_flag == false) {
require(DIR_WS_INCLUDES . 'counter.php');
}
保存用户IP地址
$customers_ip_address = $_SERVER['REMOTE_ADDR'];
if (!isset($_SESSION['customers_ip_address'])) {
$_SESSION['customers_ip_address'] = $customers_ip_address;
}
includes/initsystem.php作用
加载includes/auto_loaders/config.core.php
加载includes/auto_loaders目录里其余以config.开头的php文件,如果includes/auto_loaders/overrides/目录下有相同文件名文件,则加载以替换上述文件。