common.inc.php 初始化文件

    debug 检测 开启错误报告 $debugstarttime 精准的文件开始时间 关闭错误报告 $_REQUEST[‘GLOBALS’] 检测是否传入globals变量,防止植入攻击 gpc 检测 关闭运行时候的转义 set_magic_quotes_runtime(0); 这个函数在5.3中被废弃,并且选项在5.4后被删除, 所以在5.3版本中使用 ini_set(‘magic_quotes_runtime’, 0)替代, 之后便不再使用该函数 处理是否存在和系统冲突的重名变量 ]———————————————————————— $m = ‘some’; foreach (array (‘_POST’ , ‘_GET’ , ‘_COOKIE’ ) as $R) { if(R) { foreach (R as $k => $v) { // $_GET m => d if( isset (k) && k == $v) // $m && $m == d unset ($$__k); } } } var_dump($m); 如果传递的变量和系统的变量完全相同, 则置空变量 ]———————————————————————— IN_DESTOON 调用文件必须调用该文件的辨识符号, 不调用该文件,直接调用外部文件报错
    IN_ADMIN 是否是调用的管理员文件,如果是admin.php文件这里的值是true 如果是admin文件调用的, 这个值是 true DT_ROOT DT根目录. 站点物理路径 DT_REWRITE 是否定义重写规则(这里是对某个文件来的自定义) 这个规则在调用的文件头部定义的, 定义模块是否重写 加载重写文件 include/rewrite.inc.php > destoon-common.inc.php [过程] - 图1 这里测试传值, 可以通过这个文件将url中的变量解析进入[$_GET]变量 $CFG重置> config.inc.php 配置文件参数$_CFG [数据库] $CFG[‘database’] = ‘mysql’; 数据库类型 $CFG[‘pconnect’] = ‘0’; 持久连接 $CFG[‘db_host’] = ‘localhost’; 数据库配置 $CFG[‘db_name’] = ‘mall’; 数据库名称 $CFG[‘db_user’] = ‘root’; 数据库用户名 $CFG[‘db_pass’] = ‘’; 数据库密码 $CFG[‘db_charset’] = ‘utf8’; 数据库编码 $CFG[‘db_expires’] = ‘600’; 数据库缓存时效 $CFG[‘tb_pre’] = ‘destoon
    ‘; 数据表前缀 [页面]$CFG[‘charset’] = ‘utf-8’; 页面文本编码 $CFG[‘path’] = ‘/‘; 系统安装路径(相对于网站根路径的) 以 / 结尾 $CFG[‘url’] = ‘http://127.0.0.1/‘; 网站访问地址,以 / 结尾 [公司]$CFG[‘comdomain’] = ‘’; 公司库绑定域名 $CFG[‘com_dir’] = ‘1’; 泛解析绑定目录 1=company目录 0=网站根目录 $CFG[‘com_rewrite’] = ‘0’; 会员顶级域名ReWrite 1=开启 0=关闭 $CFG[‘com_vip’] = ‘VIP’; VIP会员名称 [缓存]$CFG[‘file_mod’] = 0777; 文件或目录可写属性,Windows服务器可以填0 $CFG[‘cache’] = ‘file’; 缓存方式 $CFG[‘cache_pre’] = ‘b2b‘; 缓存前缀 $CFG[‘cachedir’] = ‘’; 缓存目录 允许和网站不在同一目录或磁盘分区 $CFG[‘tag_expires’] = ‘600’; 标签缓存时效 $CFG[‘template_refresh’] = ‘1’; 模板自动刷新(0=关闭,1=打开,如不再修改模板,请关闭) $CFG[‘template_trim’] = ‘0’; 去除模板换行等多余标记,可以压缩一定网页体积(0=关闭,1=打开) [cookie]$CFG[‘cookie_domain’] = ‘’; cookie 作用域 例如 .destoon.com 如果绑定了二级域名 此项必须设置 $CFG[‘cookie_path’] = ‘/‘; cookie 作用路径 $CFG[‘cookie_pre’] = ‘DPg‘; cookie前缀 [模版]> $CFG[‘skin’] = ‘xd’; 默认风格 $CFG[‘template’] = ‘xd’; 默认模版 $CFG[‘language’] = ‘zh-cn’; 默认语言 [系统配置]$CFG[‘timezone’] = ‘Etc/GMT-8’; 时区 $CFG[‘timediff’] = ‘0’; 服务器时间校正 单位(秒) 可以为负数 $CFG[‘authkey’] = ‘R8Pa0OI90ZgKafg’; 网站安全密钥 $CFG[‘edittpl’] = ‘1’; 允许后台编辑模版 $CFG[‘executesql’] = ‘1’; 允许执行sql $CFG[‘founderid’] = ‘1’; 创始人id DT_PATH dt的url路径 [$CFG[‘url’]], 站点首页网址 DT_DOMAIN cookie有效域, Cookie作用域 DT_WIN 是否是windows服务器 DT_CHMOD 文件模式 -DT_URL dt的url调用 3.x [$CFG[‘url’]] DT_LANG dt的语言配置 [$CFG[‘language’]] DT_KEY 当前的加密密钥 [$CFG[‘authkey’]] DT_CHARSET 字符集 [页面字符集] DT_CACHE 缓存的路径 [缓存目录物理路径] DT_SKIN 皮肤根目录 - 风格目录网址 -SKIN_PATH 皮肤根目录 2.X VIP vip的别名 [VIP名称] errmsg 错误信息的提示 > lang/zh-cn/lang.inc.php 基本语言配置文件 $L version.inc.php 加载版本文件 DT_VERSION 主版本号, 系统版本 DT_RELEASE 发布号, 更新时间 DT_LICENSE 授权号 include/global.func.php 加载公共函数 dhtmlspecialchars 对变量进行特殊字符转换 daddslashes 添加斜线转义 dstripslashes 取消转义 dsafe 嵌入安全过滤函数 dtrim 取出空格-使用ascii进行空格转义 dheader 重载或者重定向函数 dmsg 信息显示函数, 使用cookie dalert 信息显示函数, 使用模版 dsubstr 字串剪切函数 encrypt 加密文本 decrypt 解密文本 kecrypt 生成加密密钥 strtohex 字串到十六进制转换 hextostr 十六进制转换为字串 dround 取四舍五入函数 dalloc 取 基数的最大值 strip_sql sql转义 strip_str 字串转义 tempalte 摹本编译文件 ob_template 缓存的模版输出 message 模版信息的输出 login 登陆函数 random 生成随机字串 set_cookie 设置cookie get_cookie 获取cookie的值 get_table 获取当前表格的名称 get_process 获取时间进程区间 send_message 向用户发消息 send_mail 向用户发送邮件 strip_sms 短信去除空格 send_sms 发送短信 word_count 字串个数统计 cache_read 读取缓存 cache_write 写入缓存 cache_delete 删除缓存 cache_clear 删除所有缓存,清空缓存 content_table 获取内容表的名称 split_table 分割表名称 split_id 分割id ip2area ip转换函数 banip ip禁止检测, 输出错误信息框 banword 敏感词检测 get_env 获取环境变量, 根据系统来自定义获取环境变量 convert 字串编码转换函数 get_type 获取类型 get_cat 获取分类信息 cat_pos 获取当前的位置信息 cat_url 获取分类的URl get_area 获取区域信息 area_pos 获取当前区域的位置 get_maincat 获取主要的类别的信息 get_mainarea 获取主区域信息 get_user 获取用户的字段信息 check_group 检测会员组是否存在依赖关系 tohtml 生成html? set_style 生成样式,如果需要,可以指定标签 crypt_action 加密动作 captcha 生成验证, 如果生成则在session中存在captchastr字段用于检测 question 调用问题验证 pages 分页工具 listpages 列表工具 showpages 显示分页工具 linkurl 链接url
    imgurl 图像url userurl 用户链接 userinfo 用户信息(公司信息) memberinfo 用户信息(会员信息) lsiturl 列表页url itemurl 条目页url rewrite 重写url
    timetodate 时间到日期 log_write 记录日志 load 加载css,js,html,lang用到的加载函数, 用来简化模版 ad 用来调用缓存中的广告文件 lang 调用语言函数变量 check_name 检查名称是否合法 check_post 检查是否post方法 check_referer 检查来源 is_robot 检查是否机器人 is_ip 检查ip是否合法 is_md5 检查md5是否完整
    debug 输出debug信息 3.X extendurl 扩展url
    extend_setting 扩展配置

    1. 所有的公共函数都可以在此找到

    include/tag.func.php 加载标签解析函数 tag() prefix 前缀 moduleid 模块id fields 字段 catid 分类id child
    areaid 区域id arreachild
    dir
    template 模版 condition mysql条件 group group by page 分页 offset
    pagesize 调用数量 order 排序 showpage showcat datetype target 新窗口打开 class length
    introduce debug cols api/im.func.php 加载即时通讯接口[旺旺, qq] 用来输出链接到及时通讯工具的各种html代码 im_web im_qq im_ali im_msn im_skype api/extend.func.php 加载自定义函数, 这里加载的是公共函数,模块的函数不要卸载这里 自定义函数可以自动加载 根据系统配置来决定是否转义POST或者GET, 这里应该是关掉转义了, 应当要转义 default_time_zone 根据系统的配置来设置时区 $DT_PRE 数据表前缀 $DT_QST 服务器查询字串 $DT_TIME 校正后的服务器时间 [当前时间, Unix时间戳]
    $DT_IP ip获取[当前IP] $DT_URL 环境URL获取, 当前网址URL $DT_REF 来源网页获取 $DT_BOT 机器人检测 $uri 对 “<”, “0x”, “‘“, ‘“‘ 进行URL过滤 header(“Content-Type:text/html;charset=”.DT_CHARSET); 页面字符的输出配置 include/db_mysql.class.php 数据库类[动态加载] connect 连接数据库 select_db 选择数据库 query 查询,并且返回一个结果集 get_one 获取一条数据 count 返回数据表中的数据 fetch_array 获取数组 affected_rows 获得影响的行数 num_rows 统计获取的总数 num_fields 统计获取的字段 result 返回结果集 free_result 清空结果集 insert_id 插入的id fetch_row 获取单行 version 获取sql server的版本号 close 关闭数据库连接 error 返回数据库错误 errno 返回错误号 halt 记录或者显示mysql错误
    _query 内部的sql函数 _fetch_array 获取数组函数 include/cache_memecache.class.php 缓存类 dcache 缓存的主类函数 get 获取缓存 set 设置缓存或者生存时间 rm 移除缓存 clear 清空缓存 include/session.class.php session处理 dsession session的配置选项 include/file.func.php 文件处理函数 file_ext 获取文件的扩展 file_vname 文件名称替换 file_down 文件强制下载 file_list 获取文件列表 file_copy 文件复制 file_put 文件写入 file_get 文件内容获取 file_del 文件删除 dir_path 目录路径转换 dir_create 建立文件目录 dir_chmod 更改路径模式 dir_copy 文件夹复制 dir_delete 文件夹删除 get_file 获取文件列表组 is_write 检测文件是否可写 对非管理员 进行url检测并且禁止注入. 对url中的特殊字符进行过滤 对ip禁止用户进行操作,执行任务为空 解析post和get变量到全局变量, 如果有冲突则跳过 $db 开启数据库连接, 初始化数据库信息,包括数据库错误显示和数据库连接 对admin 或者debug操作显示数据库错误详情 数据库操作对象 $dc 开启缓存,
    缓存操作对象 > 初始化缓存 置空全局变量 -$DT 网站配置信息[数组] -$MOD 当前模块的配置信息 -$MODULE 所有模块的配置信息, 系统模块信息 -$EXT 扩展模块的配置信息[数组] +$CSS +$DTMP +$CAT 本分类变量, $catid所有属性 -$ARE 当前区域的配置, $areaid所有属性 -$AREA 所有区域的配置 -$MG 当前的会员组信息, 当前登录会员的会员组权限 $CACHE 加载所有模块和网站配置信息 destoon-common.inc.php [过程] - 图2 生成缓存
    admin/global.fun.php 加载管理员函数,主要用到里边的更新缓存的函数 include/post.func.php 文章发布时候的项目
    deditor 调用编辑器 dstyle 标题颜色设置 dcalendar 日历调用 dselect 生成下拉选择项 dcheckbox 生成多选框 type_select 类型选择 url_select url选择 tpl_select 模版选择 group_select 群组选择 group_checkbox 群组多选 module_checkbox 模块多选 module_select 模块下拉 homepage_select 主页下拉框 product_select 产品下拉框 category_select 分类选择下拉框 get_category_select 获取分类选择 ajax_category_select ajax读取分类选择 get_area_select 获取区域选择 ajax_area_select 获取ajax选择 level_select 等级选择 is_url url匹配 is_email email匹配 is_mobile 固定电话匹配 is_telephone 手机号码匹配 is_gbk 字串编码是否是gbk is_date 日期格式匹配 is_image 是否是图片 is_user 是否是存在用户 is_password 是否是符合规格的密码 is_payword 支付密码 gb2py gb-拼音生成 match_userid 匹配userid格式 clear_link 清除链接 save_remote 保存远程内容 save_thumb 保存远程图片 delete_local 删除本地 delete_diff 删除重复 delete_upload 删除上传 clear_upload 清空上传 check_period 检测时区? get_status 检测时间状态 ?
    reload_captcha 重新加载captcha reload_question 重新加载问题 include/cache.fun.php 缓存函数 cache_module(); 缓存模块信息 cache_area(); 缓存区域信息 cache_category(); 缓存类别 cache_fields(); 缓存字段 cache_group(); 缓存群组 cache_pay(); 缓存支付信息 cache_oauth(); 缓存公共登陆 cache_type(); 缓存类型 cache_quote_product(); 行情产品 cache_keylink(); 缓存关键词链接 cache_bancomment(); 缓存评论禁止 cache_banip(); 缓存禁止ip cache_clear_ad(); 清空广告缓存 cache_clear_tag() 清空标签缓存 cache_clear_sql() 清空sql缓存 > cache_all() 生成缓存 非管理员的 close 站点 检测 cc防御 加载模块缓存, 默认$moduleid = 1, $module = destoon $moduleid 模块的id $module 模块的英文名称 $MOD 模块的配置 加载模块语言 $L $cityid 分站ID $cityname 城市分站的名称 城市检测, 加载城市配置文件/include/city.inc.php 检测二级域名或者主站是否和相关的url相符合,否则重新对城市配置分站名称cookie 配置seo标题 SEO的路径是默认使用网站的, 如果模块中有定义,则使用模块中的seo, 如果分类中存在,则用分类中的seo标记替换掉以上的seo标记. ob_handler() 启动文件输出缓存 $forward 来源地址, 来源页面 $action 动作 $submit 提交动作 $page 页码
    $catid 分类id $areaid 地区id $itemid 条目id, 信息ID $pagesize 分页数 $offset 分页偏移量 $kw 传递关键词, 搜索关键词 $keyword 搜索关键词 $today_endtime 今天的截止时间$seo_file …. seo相关, 重置置空权限变量> $_userid 当前登录会员的会员ID, 0为游客 $_admin $_aid $_message 当前登录会员的站内信 $_chat 当前登录会员的新对话 $_sound $_online $_money 当前登录会员的资金 $_credit 当前登录会员的积分 $_sms 当前登录会员的短信 $_username 当前登录会员的会员名 $_company 当前登录会员的公司名 $_passport $_groupid = 3; 当前登录会员的会员组, 默认为 3
    $destoon_auth 权限获取 cookie,如果有相应的权限, 通过解密获得相应权限 通过解密获取 dauth, userid, username, groupid, admin $_userid
    IN_ADMIN 管理员检测


    $_truename 当前登录会员的姓名