Heim > Backend-Entwicklung > PHP-Tutorial > common.inc.php

common.inc.php

WBOY
Freigeben: 2016-06-23 14:34:44
Original
2131 Leute haben es durchsucht

define('PHPCMS_ROOT', str_replace("\\", '/', substr(dirname(__FILE__), 0, -7))); //定义根目录
define('MICROTIME_START', microtime()); //设置起始时间
define('IN_PHPCMS', TRUE); //网站入口判断变量
define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()); //设置魔法字会转换开关
define('TIME', time()); //生成时间
set_include_path(PHPCMS_ROOT.'include/'); //加载文件目录
set_magic_quotes_runtime(0); //设置魔法字运行时间开关,0 为关
unset($LANG, $HTTP_ENV_VARS, $HTTP_POST_VARS, $HTTP_GET_VARS, $HTTP_POST_FILES, $HTTP_COOKIE_VARS);//清空变量
require 'config.inc.php'; //核心配置文件
require 'global.func.php'; //全局功能函数
require 'dir.func.php'; //目录函数操作功能函数
require 'url.func.php'; //url相关操作函数
require 'output.class.php'; //数据输出相关函数
require 'priv_group.class.php'; //组权限类
require 'times.class.php'; //时间处理类
require PHPCMS_ROOT.'languages/'.LANG.'/phpcms.lang.php'; //加载语言函数包
ERRORLOG ? set_error_handler('phpcms_error') : error_reporting(E_ERROR | E_WARNING | E_PARSE); //设置错误处理机智
define('IP', ip());
define('HTTP_REFERER', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
define('SCRIPT_NAME', isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : preg_replace("/(.*)\.php(.*)/i", "http://www.cnblogs.com/igaofen/admin/file://1.php/", $_SERVER['PHP_SELF']));
define('QUERY_STRING', $_SERVER['QUERY_STRING']);
define('PATH_INFO', isset($_SERVER['PATH_INFO']) ? $_SERVER['PATH_INFO'] : '');
define('DOMAIN', isset($_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : preg_replace("/([^:]*)[:0-9]*/i", "http://www.cnblogs.com/igaofen/admin/file://0.0.0.1/", $_SERVER['HTTP_HOST']));
define('SCHEME', $_SERVER['SERVER_PORT'] == '443' ? 'https://' : 'http://');
define('SITE_URL', SCHEME.$_SERVER['HTTP_HOST'].PHPCMS_PATH);
define('RELATE_URL', isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : SCRIPT_NAME.(QUERY_STRING ? '?'.QUERY_STRING : PATH_INFO));
define('URL', SCHEME.$_SERVER['HTTP_HOST'].RELATE_URL);
define('RELATE_REFERER',urlencode(RELATE_URL));
//定义一系列与服务器相关的变量,为后面的生成cache相关参数作准备
if(function_exists('date_default_timezone_set')) date_default_timezone_set(TIMEZONE);//设置time等函数的默认时区
header('Content-type: text/html; charset='.CHARSET); //设置字符集
if(CACHE_PAGE && !defined('IN_ADMIN')) cache_page_start(); //看是否调用页面缓存
if(GZIP && extension_loaded('zlib')) ini_set('zlib.output_compression', 'On'); //是否gzip优化
ob_start(); //缓存开始,启动ob_start 输出部份转的缓存,flush后,全部输出
$dbclass = 'db_'.DB_DATABASE; //生成db.class的名字
require $dbclass.'.class.php'; //加载db的数据库类文件
$db = new $dbclass; //实例发数据库
$db->connect(DB_HOST, DB_USER, DB_PW, DB_NAME, DB_PCONNECT, DB_CHARSET); //连接数据库
require 'session_'.SESSION_STORAGE.'.class.php'; //加载session类
$session = new session(); //初始化session
session_set_cookie_params(0, COOKIE_PATH, COOKIE_DOMAIN); //设置cookies
if($_REQUEST) //转义request的变量
{
if(MAGIC_QUOTES_GPC)
{
$_REQUEST = new_stripslashes($_REQUEST);
if($_COOKIE) $_COOKIE = new_stripslashes($_COOKIE);
}
if(!defined('IN_ADMIN')) $_REQUEST = filter_xss($_REQUEST, ALLOWED_HTMLTAGS);
extract($db->escape($_REQUEST), EXTR_SKIP);
if($_COOKIE) $db->escape($_COOKIE);
}
if(QUERY_STRING && strpos(QUERY_STRING, '=') === false && preg_match("/^(.*)\.(htm|html|shtm|shtml)$/", QUERY_STRING, $urlvar))
{
parse_str(str_replace(array('/', '-', ' '), array('&', '=', ''), $urlvar[1]));
}
$CACHE = cache_read('common.php'); //读cache,comman.php生成了一些网站初始的变量,比如栏目名,等,可到data/cahce/下查看
if(!$CACHE)
{
require_once 'cache.func.php';
cache_all();
$CACHE = cache_read('common.php');
}
extract($CACHE); //将数组转成变量
unset($CACHE); //销毁变量
if($PHPCMS['enable_ipbanned'] && ip_banned(IP)) showmessage($LANG['administrator_banned_this_IP']);//IP地址限制
if(!defined('IN_ADMIN')) ////非法信息屏蔽作用范围(0 禁用,1 前台,2 全站)
{
if(FILTER_ENABLE && filter_word()) showmessage('The content including illegal information: '.ILLEGAL_WORD.' .');
if($PHPCMS['minrefreshtime'])
{
$cc = new times();
$cc->set('cc', $PHPCMS['minrefreshtime'], 1);
if($cc->check()) showmessage('Do not refresh the page in '.$PHPCMS['minrefreshtime'].' seconds!');
$cc->add();
unset($cc);
}
if(!isset($forward)) $forward = HTTP_REFERER;
}
$M = $TEMP = array();
if(!isset($mod)) $mod = 'phpcms'; //设置模块,如果什么也没有设,就用phpcms
if($mod != 'phpcms') //如果有设置,调用相关模块的信息,并读取他们生成的cahce
{
isset($MODULE[$mod]) or exit($LANG['module_not_exists']);
$langfile = defined('IN_ADMIN') ? $mod.'_admin' : $mod;
@include PHPCMS_ROOT.'languages/'.LANG.'/'.$langfile.'.lang.php';
$M = cache_read('module_'.$mod.'.php');
}
$_userid = 0;
$_username = '';
$_groupid = 3;
$phpcms_auth = get_cookie('auth'); //判断是否以前登陆过,并调取认证信息,权限判断
if($phpcms_auth)
{
$auth_key = md5(AUTH_KEY.$_SERVER['HTTP_USER_AGENT']);
list($_userid, $_password) = explode("\t", phpcms_auth($phpcms_auth, 'DECODE', $auth_key));
$_userid = intval($_userid);
$sql_member = "SELECT * FROM `".DB_PRE."member_cache` WHERE `userid`=$_userid";
$r = $db->get_one($sql_member);
if(!$r && cache_member())
{
$r = $db->get_one($sql_member);
}
if($r && $r['password'] === $_password)
{
if($r['groupid'] == 2)
{
set_cookie('auth', '');
showmessage($LANG['userid_banned_by_administrator']);
}
@extract($r, EXTR_PREFIX_ALL, '');
}
else
{
$_userid = 0;
$_username = '';
$_groupid = 3;
set_cookie('auth', '');
}
unset($r, $phpcms_auth, $phpcms_auth_key, $_password, $sql_member);
}
$G = cache_read('member_group_'.$_groupid.'.php'); //读会员的组信息
$priv_group = new priv_group(); //初始化组用户信息
define('SKIN_PATH', 'templates/'.TPL_NAME.'/skins/'.TPL_CSS.'/'); //加载模板的css文件
define('PASSPORT_ENABLE', ($PHPCMS['uc'] || $PHPCMS['enablepassport'] || $PHPCMS['enableserverpassport']) ? 1 : 0); //设置uc,等其它密码通行证,开关
?>

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/guwenzhong/archive/2009/03/05/3959500.aspx

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage