UCHome 中的common.php代码分析

发布时间:2019-02-07 整理:脚本之家 作者:未知
脚本之家收集整理的这篇文章主要介绍了UCHome 中的common.php代码分析脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随脚本之家小编过来看看吧!

代码
  1 代码   2 <?php  3 /*  4     [UCenter Home] (C) 2007-2008 Comsenz Inc.  5     $Id: common.php 13217 2009-9-25 ymaozi http://www.codedesign.cn  6 */  7   8 @define('IN_UCHOME', TRUE);  //定义IN_UCHOME  9 define('D_BUG', '0');  //定义错误等级 10  11 D_BUG?error_reporting(7):error_reporting(0); 12 set_magic_quotes_runtime(0);  //关闭自动转义功能 13  14 $_SGLOBAL = $_SCONFIG = $_SBLOCK = $_TPL = $_SCOOKie = $_SN = $space = array(); 15  16 //程序目录 17 define('S_ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR);   //定义程序的根目录 18  19 //基本文件 20 include_once(S_ROOT.'./ver.php');    //导入uchome的一些版本信息 21 if(!@include_once(S_ROOT.'./config.php')) {  //判断是否存在网站配置文件,不存在的话,安装网站 22     header("Location: install/index.php");//安装 23     exit(); 24 } 25 include_once(S_ROOT.'./source/function_common.php');  //引入公共函数文件 26  27 //时间 28 $mtime = explode(' ', microtime());   //将当前的时间,微秒与年/月/日 时/分/秒 分隔开 29 $_SGLOBAL['timestamp'= $mtime[1]; //取得当前的年/月/日 时/分/钞 30 $_SGLOBAL['supe_starttime'= $_SGLOBAL['timestamp'+ $mtime[0];  //年/月/日 时/分/钞 + 微秒 31  32 //GPC过滤 33 $magic_quote = get_magic_quotes_gpc();  //是否开启了自动转义功能 34 if(empty($magic_quote)) {    //如果没有开启则手动对提交的$_POST,$_GET进行转义 35     $_GET = saddslashes($_GET); 36     $_POST = saddslashes($_POST); 37 } 38  39 //本站URL 40 if(empty($_SC['siteurl'])) $_SC['siteurl'= getsiteurl(); 41  42 //链接数据库 43 dbconnect(); 44  45 //缓存文件 46 if(!@include_once(S_ROOT.'./data/data_config.php')) { //是否存在网站初始化信息的缓存 47     include_once(S_ROOT.'./source/function_cache.php'); //如果不存在,则引入处理缓存的文件 48     config_cache();   //创建缓存文件 49     include_once(S_ROOT.'./data/data_config.php');  //将缓存文件引入 50 } 51 foreach (array('app', 'userapp', 'ad', 'magic'as $value) { 52     @include_once(S_ROOT.'./data/data_'.$value.'.php');    //导入app,userapp,ad,magic配置文件 53 } 54  55 //COOKie 56 $prelength = strlen($_SC['cookiepre']);   //获取COOKie前缀长度 57 foreach($_COOKie as $key => $val) { 58     if(substr($key, 0, $prelength== $_SC['cookiepre']) { 59         $_SCOOKie[(substr($key, $prelength))] = empty($magic_quote? saddslashes($val: $val; 60     } 61 } 62  63 //启用GIP 64 if ($_SC['gzipcompress'&amp;amp;&amp;amp; function_exists('ob_gzhandler')) { 65     ob_start('ob_gzhandler'); 66 else { 67     ob_start(); 68 } 69  70 //初始化 71 $_SGLOBAL['supe_uid'= 0; 72 $_SGLOBAL['supe_username'= '';   //将用户的uid与username设置为空 73 $_SGLOBAL['inajax'= empty($_GET['inajax'])?0:intval($_GET['inajax']);   //是否采用ajax 74 $_SGLOBAL['mobile'= empty($_GET['mobile'])?'':trim($_GET['mobile']);   //获取$_GET提交的手机号 75 $_SGLOBAL['ajaxmenuid'= empty($_GET['ajaxmenuid'])?'':$_GET['ajaxmenuid']; 76 $_SGLOBAL['refer'= empty($_SERVER['HTTP_REFERER'])?'':$_SERVER['HTTP_REFERER'];  //获取上一页面的url 77 if(empty($_GET['m_timestamp']) || $_SGLOBAL['mobile'!= md5($_GET['m_timestamp']."\t".$_SCONFIG['sitekey'])) $_SGLOBAL['mobile'= ''; 78  79 //登录注册防灌水机 80 if(empty($_SCONFIG['login_action'])) $_SCONFIG['login_action'= md5('login'.md5($_SCONFIG['sitekey'])); 81 if(empty($_SCONFIG['register_action'])) $_SCONFIG['register_action'= md5('register'.md5($_SCONFIG['sitekey'])); 82  83 //整站风格 84 if(empty($_SCONFIG['template'])) { //如果没有设置网站的风格则采用default中的 85     $_SCONFIG['template'= 'default'; 86 } 87 if($_SCOOKie['mytemplate']) { 88     $_SCOOKie['mytemplate'= str_replace('.','',trim($_SCOOKie['mytemplate'])); 89     if(file_exists(S_ROOT.'./template/'.$_SCOOKie['mytemplate'].'/style.css')) { 90         $_SCONFIG['template'= $_SCOOKie['mytemplate']; 91     } else { 92         ssetcookie('mytemplate', '', 365000); 93     } 94 } 95  96 //url:http://u.codedesign.cn/space.php?do=home 97 //$_SERVER['REQUEST_URI']得到的:space.php?do=home 98 //$_SERVER['PHP_SELF'] 得到的:space.php 99 //$_SERVER['QUERY_STRING'] :     do=home100 //处理REQUEST_URI101 if(!isset($_SERVER['REQUEST_URI'])) {102     $_SERVER['REQUEST_URI'= $_SERVER['PHP_SELF'];103     if(isset($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'.= '?'.$_SERVER['QUERY_STRING'];104 }105 if($_SERVER['REQUEST_URI']) {106     $temp = urldecode($_SERVER['REQUEST_URI']);107     if(strexists($temp, '<'|| strexists($temp, '"')) {108         $_GET = shtmlspecialchars($_GET);//XSS109     }110 111 112 //判断用户登录状态113 checkauth(); //判断是否登录114 $_SGLOBAL['uhash'= md5($_SGLOBAL['supe_uid']."\t".substr($_SGLOBAL['timestamp'], 6)); //将用户的uid与当前时间的前六位进行md5加密115 116 //用户菜单117 getuserapp();118 119 //处理UC应用120 $_SCONFIG['uc_status'= 0;121 $_SGLOBAL['appmenus'= $_SGLOBAL['appmenu'= array();122 if($_SGLOBAL['app']) {123     foreach ($_SGLOBAL['app'as $appid => $value) {124         if(UC_APPID != $appid) {125             $_SCONFIG['uc_status'= 1;126         }127         if($value['open']) {128             if(empty($_SGLOBAL['appmenu'])) {129                 $_SGLOBAL['appmenu'= $value;130             } else {131                 $_SGLOBAL['appmenus'][] = $value;132             }133         }134     }135 }136 137 ?>

转自:http://www.codedesign.cn/?p=73

总结

以上是脚本之家为你收集整理的UCHome 中的common.php代码分析全部内容,希望文章能够帮你解决UCHome 中的common.php代码分析所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

标签: