define('PHPCMS_ROOT', str_replace("\", '/', substr(dirname(__FILE__), 0, -7))) //ルートディレクトリを定義します
define('MICROTIME_START', microtime()); ; //開始時刻を設定
define('IN_PHPCMS', TRUE) //Webサイト入口判定変数
define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc()) //マジックワードスイッチを設定
define('TIME', time) ()); //生成時間
set_include_path(PHPCMS_ROOT.'include/'); //ファイルディレクトリの読み込み
set_magic_quotes_runtime(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'; //グローバル関数 function
; require 'dir.func.php'; //ディレクトリ関数操作関数 function
require 'url.func.php'; //URL 関連操作関数
require 'output.class.php' //データ出力関連関数
require ' priv_group.class.php'; // グループ権限クラス
require 'times.class.php' // 時間処理クラス
require PHPCMS_ROOT.'langages/'.LANG.'/phpcms.lang.php';言語関数パッケージの読み込み
ERRORLOG ? set_error_handler('phpcms_error') : error_reporting(E_ERROR | E_WARNING | E_PARSE); //
define('IP', ip()) によるエラー処理を設定します。 $ _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('ドメイン ', 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));
//キャッシュ関連パラメータの後の世代に備えて一連のサーバー関連変数を定義します
if(function_exists('date_default_timezone_set')) date_default_timezone_set(TIMEZONE);//時刻とその他を設定します関数 デフォルトのタイムゾーン
header('Content-type: text/html; charset='.CHARSET); //文字セットを設定します
if(CACHE_PAGE && !define('IN_ADMIN')) cache_page_start(); //ページのキャッシュは
if(GZIP && extension_loaded('zlib')) ini_set('zlib.output_compression', 'On'); // gzip が最適化されているかどうか
ob_start();キャッシュの一部をフラッシュします その後、すべての出力
$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); // データベースへの接続
'session_'.SESSION_STORAGE.' が必要です。 class.php'; //セッションクラスをロードします
$session = new session(); //セッションを初期化します
session_set_cookie_params(0, COOKIE_PATH, COOKIE_DOMAIN) //リクエスト変数をエスケープします
{
if(MAGIC_QUOTES_GPC)
{
$_REQUEST = new_stripslashes($_REQUEST);
if($_COOKIE) $_COOKIE = new_stripslashes($_COOKIE);
}
if(!define('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');キャッシュ、common.php はいくつかを生成します。列名などの Web サイトの初期変数は、data/cahce/
if(!$CACHE) で確認できます
{
require_once 'cache.func.php';
ache_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(!define('IN_ADMIN')) ////不正情報遮断範囲 (0 無効) 、フロントデスク 1 つ、サイト全体 2 つ)
{
if (FILTER_ENABLE && filter_word()) showmessage('違法な情報を含むコンテンツ: '.ILLEGAL_WORD.' .');
if($PHPCMS['minrefreshtime'])
{
$cc = 新しい時間();
$cc ->set('cc', $PHPCMS['minrefreshtime'], 1);
if($cc->check()) showmessage('.$PHPCMS['minrefreshtime'].' 秒間はページを更新しないでください!');
$cc->add();
unset($ cc);
}
if(!isset($forward)) $forward = HTTP_REFERER;
}
$M = $TEMP = array();
if(!isset($mod)) $mod = 'phpcms'; //モジュールを設定します。何も設定されていない場合は、phpcms
if($mod != 'phpcms') //設定がある場合は、関連するモジュールの情報を呼び出し、生成されたキャッシュを読み取ります
{
isset( $ MODULE[$mod]) または exit($LANG['module_not_exists']);
$langfile = defined('IN_ADMIN') ? $mod.'_admin' : $mod;
@include PHPCMS_ROOT.'langages/'。 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 ブログからのものです。転載する場合は出典を示してください。 ://blog.csdn .net/guwenzhong/archive/2009/03/05/3959500.aspx