ecshop init.php 文件分析

首先是init.php文件,这个文件在ecshop每个页面都会 调用到,习惯就先分析它:
<?php

/**
* ECSHOP 前台公用文件 //防止非法调用 defined-判断常量是否已定义,如果没返回false
if (!defined('IN_ECS'))     die('Hacking attempt');//die-直接终止程序并输出 //报告所有错误
error_reporting(E_ALL); if (__FILE__ == '')     die('Fatal error code: 0'); /*预定义常量
__LINE__       文件中的当前行号。
__FILE__       文件的完整路径和文件名。
__FUNCTION__   函数名称(这是 PHP 4.3.0 新加的)。
__CLASS__      类的名称(这是 PHP 4.3.0 新加的)。
__METHOD__     类的方法名(这是 PHP 5.0.0 新加的)。 /* 取得当前商城所在的根目录 */
define('ROOT_PATH', str_replace('includes/init.php', '', str_replace('\\', '/', __FILE__))); if (!file_exists(ROOT_PATH . 'data/install.lock') && !file_exists(ROOT_PATH . 'includes/install.lock')
    && !defined('NO_CHECK_INSTALL'))     header("Location: ./install/index.php\n");

    exit;
}

/* 初始化设置 */
@ini_set('memory_limit',          '64M');//ini_set设置php.ini中的设置,memory_limit设定一个脚本所能够申请到的最大内存字节数
@ini_set('session.cache_expire', 180);//指定会话页面在客户端cache中的有效期限(分钟),单位为分钟。
@ini_set('session.use_trans_sid', 0);//关闭自动把session id嵌入到web的URL中
@ini_set('session.use_cookies',   1);//允许使用cookie在客户端保存会话ID
@ini_set('session.auto_start',    0);//在客户访问任何页面时都自动初始化会话,0-禁止
@ini_set('display_errors',        1);//是否显示错误

if (DIRECTORY_SEPARATOR == '\\')//如果装在windows上(DIRECTORY_SEPARATOR路径分隔符,linux上就是’/’   windows上是’\’)     @ini_set('include_path', '.;' . ROOT_PATH);//include目录为当前目录和网站根目录,windows下用';'分隔 else     @ini_set('include_path', '.:' . ROOT_PATH);//include目录为当前目录和网站根目录,linux下用':'分隔
}

require(ROOT_PATH . 'data/config.php');//包含配置文件(数据库相关)

if (defined('DEBUG_MODE') == false)//如果常量DEBUG_MODE没有定义则定义为0,DEBUG_MODE用于设置ecshp的使用模式     define('DEBUG_MODE', 0); //设定用于所有日期时间函数的默认时区
if (PHP_VERSION >= '5.1' && !empty($timezone))     date_default_timezone_set($timezone);//date_default_timezone_set 设置时区 //$_SERVER['PHP_SELF']返回当前页面,获取$_SERVER['PHP_SELF']最好用htmlspecialchars过滤一下,存在XSS漏洞
$php_self = isset($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];
if ('/' == substr($php_self, -1))//如果是"/"结尾,则加上index.php     $php_self .= 'index.php';
}

posted @ 2013-07-28 17:40  faily  阅读(552)  评论(0)    收藏  举报