织梦的if(!defined('DEDEINC')) exit("Request Error!");解析

来源:互联网 发布:白金数据 电影天堂 编辑:程序博客网 时间:2024/06/05 06:54
1
if(!defined('DEDEINC')) exit("Request Error!");

细细看看你就会发现,这句代码一般都是在 /include 路径下的php文件里边,为什么 dede 路径下的php文件没有呢?因为 include 路径下的文件是 类文件,也就是 方法文件 ,是以后要被 require_once 引入的文件,MVC模式中的 M .这些文件是不需要 在浏览器中运行的 测试代码如下

1
2
3
4
5
6
if(!defined('DEDEINC')){
    exit("Request Error!");
}
else{
    echo "欢迎进入CMS部落(http://www.eworthcms.com)";
}

很明显,运行php会输出 Request Error!

1
2
3
4
5
6
7
require_once (dirname(__FILE__) . "/common.inc.php");
if(!defined('DEDEINC')){
    exit("Request Error!");
}
else{
    echo "欢迎进入CMS部落(http://www.eworthcms.com)";
}

当引入了 common.inc.php 之后 就会输出 欢迎进入CMS部落(http://www.eworthcms.com).总之,这句话的目的就是不想让恶意攻击者或者客户来访问你的类文件,因为类文件是要被引用到其他php文件中的.

1
2
3
4
5
6
7
define('DEBUG',true);  //在开发时,声明一个DEBUG模式
      
if(defined('DEBUG')){  //检测处于开发模式
    error_reporting(E_ALL);
}else{
    error_reporting(E_ALL || ~E_NOTICE); //检测处于发布模式
}

织梦的 common.inc.php 页面也有报错级别设定

1
2
3
4
// 报错级别设定,一般在开发环境中用E_ALL,这样能够看到所有错误提示
// 系统正常运行后,直接设定为E_ALL || ~E_NOTICE,取消错误显示
//error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE);
0 0