UCHOME のコードはまだ非常に優れているので、勉強してください。
コードをコピー コードは次のとおりです:
/**
* いくつかの定数を定義します
*/
@define('IN_UCHOME', TRUE) //ファイルの不正なインクルードを防ぐと言われています
define( 'X_VER' , '1.2'); //ウチメバージョン
define('X_RELEASE', '20080612') //リリース日
define('D_BUG', '0'); debugging, 0 :off, 1:on
//デバッグ機能がオンになっているかどうかに応じてエラー報告レベルを設定します
D_BUG?error_reporting(7):error_reporting(0)
//一部を初期化します。グローバル変数
$_SGLOBAL = $_SCONFIG = $_SBLOCK = $_TPL = $_SCOOKIE = $space = array();
//プログラム ディレクトリ定数を定義します
define('S_ROOT', dirname(__FILE__). DIRECTORY_SEPARATOR);
// 時間を取得します。主にプログラムの実行時間を出力するために使用されます。
$mtime =explode(' ', microtime());
$_SGLOBAL['timestamp'] = $mtime[1] ;
$_SGLOBAL[' supe_starttime'] = $_SGLOBAL['timestamp'] $mtime[0];
//基本ファイルをインクルードします。インクルードが失敗した場合は、インストーラー
if(!@include_once(S_ROOT. './config.php')) {
header("場所: install/index.php")
}
; //パブリック関数ライブラリをインクルードします
include_once (S_ROOT.'./source/function_common.php');
//リンクデータベース
dbconnect(); //設定ファイルをインクルードしてみます。 Web サイトの構成情報をキャッシュ ディレクトリに保存し、失敗した場合は、それをキャッシュ処理関数ライブラリに組み込み、構成キャッシュを生成します。
if(!@include_once(S_ROOT.'./data/data_config.php')) {
include_once(S_ROOT.'./source/function_cache.php' );
config_cache();
}
//文字セットの使用を強制します
if($_SCONFIG['headercharset'] ) {
@header('Content-Type: text/html ; charset='.$_SC['charset']);
}
//GPC フィルタリング、$_GET 内の特殊文字を自動的にエスケープします。 SQL インジェクション攻撃を防ぐための $_POST、$_COOKIE
$ magic_quote = get_magic_quotes_gpc();
if(emptyempty($magic_quote)) {
$_GET = sawdslashes($_GET); saddslashes($_POST);
}
/ /COOKIE
$prelength = strlen($_SC['cookiepre']);
foreach($_COOKIE as $key => $val) {
if(substr($key, 0, $prelength ) == $_SC['cookiepre']) {
$_SCOOKIE[(substr($key, $prelength))] = emptyempty($magic_quote) ? ($val) : $val;
}
}
//GIP を有効にする
if ($_SC['gzipcompress'] && function_exists('ob_gzhandler')) {
ob_start(' ob_gzhandler');
} else {
ob_start();
//初期化
$_SGLOBAL['supe_uid'] = 0; = '';
$_SGLOBAL['inajax' ] = emptyempty($_GET['inajax'])?0:intval($_GET['inajax']);
$_SGLOBAL['ajaxmenuid'] = emptyempty($_GET['ajaxmenuid'])?'' :$_GET['ajaxmenuid']
$_SGLOBAL['refer'] = emptyempty($_SERVER['HTTP_REFERER'])?'':$_SERVER[ 'HTTP_REFERER']
//ユーザー情報を取得します
getuser();
//アプリケーションリスト
@include_once(S_ROOT.'./data/data_app.php'); (emptyempty($_SGLOBAL['app'])) {
include_once(S_ROOT.'./source/function_cache.php');
app_cache(); <🎜; >/**
* いくつかの定数を定義します
*/
@define('IN_UCHOME', TRUE); //ファイルの不正な組み込みを防ぐと言われています
define('X_VER', ' 1.2'); //Uchome version
define('X_RELEASE' , '20080612');//リリース日
define('D_BUG', '0'); //デバッグ機能がオンかどうか、 0: オフ、1: オン
//デバッグ機能がオンかどうかに応じてエラーを設定します。レポートレベル
D_BUG?error_reporting(7):error_reporting(0);//一部を初期化します。グローバル変数
$_SGLOBAL = $_SCONFIG = $_SBLOCK = $_TPL = $_SCOOKIE = $space = array() ;
//プログラム ディレクトリ定数を定義します
define('S_ROOT', dirname(__FILE__)。 DIRECTORY_SEPARATOR);
//主にプログラムの実行時間を出力するために使用される時刻を取得します
$mtime =explode( ' ', microtime());
$_SGLOBAL['timestamp'] = $mtime[1] ;
$_SGLOBAL['supe_starttime'] = $_SGLOBAL['timestamp'] $mtime[0]; //基本ファイル、基本設定ファイルをインクルードしようとします。インクルードが失敗した場合は、インストーラー
if(!@include_once(S_ROOT.'./config.php')) {
header("場所: install/index.php")
exit();
//共通関数ライブラリをインクルードします
include_once(S_ROOT.'./source/function_common.php');
/ /リンクデータベース
dbconnect(); //設定ファイルをインクルードしてみます。 Web サイトの構成情報をキャッシュ ディレクトリに保存することができなかった場合、それをキャッシュ処理関数ライブラリに組み込み、構成キャッシュを生成します
if(!@ include_once(S_ROOT.'./data/data_config.php')) {
include_once(S_ROOT.'./source/function_cache.php');
config_cache()
}
// 文字セットの使用を強制します
if($_SCONFIG['headercharset']) {
@header('Content-Type: text/html; charset='.$_SC['charset']);
}
//GPC フィルタリング、$_GET、$ 内の特殊文字を自動的にエスケープしますSQL インジェクション攻撃を防ぐための _POST、$_COOKIE
$magic_quote = get_magic_quotes_gpc();
if(emptyempty($magic_quote)) {
$_GET = sawdslashes($_GET); ($_POST);
}
//COOKIE
$prelength = strlen($_SC['cookiepre']) ;
foreach($_COOKIE as $key => $val) {
if(substr($key, 0, $prelength) == $_SC['cookiepre']) {
$_SCOOKIE[(substr($key, $prelength))] = emptyempty($magic_quote) ? ($val) : $val;
}
}
//GIP を有効にする
if ($_SC['gzipcompress'] && function_exists('ob_gzhandler')) {
ob_start('ob_gzhandler')
} else {
ob_start(); ;
}
//初期化
$_SGLOBAL['supe_uid'] = '';
$_SGLOBAL['inajax'] = 空($_GET['inajax'])?0:intval($_GET['inajax']);
$_SGLOBAL['ajaxmenuid'] = emptyempty($_GET['ajaxmenuid'])?'':$_GET ['ajaxmenuid'];
$_SGLOBAL['refer'] = emptyempty($_SERVER['HTTP_REFERER'])?'':$_SERVER['HTTP_REFERER']; // ユーザー情報を取得します
getuser();
//アプリケーションリスト
@include_once(S_ROOT.'./data/data_app.php');
if(emptyempty($_SGLOBAL['app'])) {
include_once(S_ROOT.'./source/function_cache.php');
app_cache()
}
?>
以下は common の 1.5 バージョンです。 php
コードをコピー コードは次のとおりです:
/*
[UCenter ホーム] (C) 2007-2008 Comsenz Inc.
$Id: common.php 10981 2009-01-14 03:05: 20Z liguode $
*/
//悪意のあるユーザーが他のページにある他の PHP ファイルを直接呼び出すことを防ぐ定数を定義します。
@define('IN_UCHOME', TRUE);
//バージョン番号を表す定数を定義します
define('X_VER', '1.5'); constant , マイナー バージョン番号
define('X_RELEASE', '20090114');
/*プログラムをデバッグするときに、定数値を 1 に設定します。エラーがある場合は、ページに表示されます。 エラーメッセージが表示されます。
デバッグ後および通常の使用後に 0 に設定すると、プログラム エラーがユーザーに表示されなくなります。
*/
define('D_BUG', '0');
//D_BUG 定数値でエラーレポートのタイプを指定します。 error_reporting() のパラメータはエラー報告タイプです。関連するパラメータは PHP マニュアルにあります。
D_BUG?error_reporting(7):error_reporting(0);
//これらはすべて以下で定義されるグローバル変数です。詳細は後で使用するときに 1 つずつ紹介します。
$_SGLOBAL = $_SCONFIG = $_SBLOCK = $_TPL = $_SCOOKIE = $_SN = $space = array();
//プログラム ディレクトリの定数を定義します。このうち、DIRECTORY_SEPARATOR はパス区切り文字であり、Linux では「/」、Windows では '' です。
define('S_ROOT', dirname(__FILE__).DIRECTORY_SEPARATOR); @ 記号を使用すると、ファイルが見つからない場合でもページにエラー メッセージは表示されません
if(!@include_once(S_ROOT.'./config.php')) {
//見つからない場合は、インストールファイルにリダイレクト
header("Location: install/index.php");
exit();
}
//一般的な関数ファイル、具体的な関数については 1 つずつ説明します。 Introduction time
include_once (S_ROOT.'./source/function_common.php');
//Time microtime() はミリ秒単位で時間を取得します
$mtime =explode(' ', microtime());
$_SGLOBAL[ 'timestamp'] = $mtime[1];
//$mtime[0] は UNIX タイムスタンプ (整形)、$mtime[0] はミリ秒です
$_SGLOBAL['supe_starttime '] = $_SGLOBAL[ 'timestamp'] $mtime[0];
//get_magic_quotes_gpc は、PHP.INI 設定のマジック クオート機能がオンになっているかどうかを確認します
$magic_quote = get_magic_quotes_gpc(); if(emptyempty($magic_quote)) {
// 自動フィルタリングがオンになっている場合は、受信パラメータをエスケープします
$_GET = maddslashes($_GET);
$_POST = sawdslashes($_POST); 🎜>}
//荷主のサイトの URL。getsiteurl() を使用して現在のサイトのドメイン名を取得します。
if(emptyempty($_SC['siteurl'])) $_SC[ 'siteurl'] = getsiteurl();
//データベースをリンク
dbconnect();
//キャッシュ ファイルを開きます
foreach (array('config', 'app', 'userapp', 'ad') as $value) {
if(!@include_once(S_ROOT.'./data/data_'.$value.'.php')) {
//キャッシュ ファイルの保存に失敗した場合開かれてキャッシュが再構築されると、function_cache.php はキャッシュを含む関数ファイルです。
$cache_func = $value.'_cache';
//対応する関数を呼び出してキャッシュを生成します。
$cache_func();
}
}
//COOKIE プレフィックスの長さを取得します。$_SC['cookiepre'] は config.php で定義された COOKIE 関数のプレフィックス名です。 $_COOKIE COOKIE を格納するデータ グローバル変数配列です。
$prelength = strlen($_SC['cookiepre']);
foreach($_COOKIE as $key => $val) {
//判定
下の COOKIES のうち UCHome に属する現在のドメイン名 COOKIE if(substr($key, 0, $prelength) == $_SC['cookiepre']) {
//COOKIE 値をエスケープします
$_SCOOKIE [(substr($key, $prelength))] = emptyempty($magic_quote) ?saddslashes($val) : $val;
}
}
//GIP 圧縮送信を有効にするかどうか、これは、PHP の送信速度を向上させるために使用されます。
if ($_SC['gzipcompress'] && function_exists('ob_gzhandler')) {
ob_start('ob_gzhandler')
} else {
ob_start(); >//初期化
$_SGLOBAL['supe_uid'] = 0; //現在のユーザーのUIDを初期化します
$_SGLOBAL['supe_username'] = ''; 現在のユーザーのユーザー名を初期化します
$ _SGLOBAL ['inajax'] = emptyempty($_GET['inajax'])?0:intval($_GET['inajax']); //これは、ページ上のいくつかのポップアップ ボックスを制御するために使用されます。テンプレートの章内
$_SGLOBAL['ajaxmenuid'] = emptyempty($_GET['ajaxmenuid'])?'':$_GET['ajaxmenuid'];
$_SGLOBAL['refer'] = emptyempty( $_SERVER[' HTTP_REFERER'])?'':$_SERVER['HTTP_REFERER'] // 前のページの URL を取得してジャンプします
// ログインしてフラッディング対策マシンを登録します/*
ログインするか、登録すると、次のようなリンクが表示されます: do.php?ac=750e45d29d276b2f86f1445627c08f99
次の 750e45d29d276b2f86f1445627c08f99 は、次の方法を使用して取得されます。
*/
if(emptyempty($_SCONFIG['login_action'])) $_SCONFIG['login_action'] = md5('login'.md5($_SCONFIG['sitekey'])); if(emptyempty($_SCONFIG['register_action'])) $_SCONFIG['register_action'] = md5('register'.md5($_SCONFIG['sitekey']));
//サイト全体のスタイルを確認します。 site テンプレートへのパス。これはデフォルトのディレクトリであり、一般的に使用される黄色のスタイルのテンプレート パスです。
if(emptyempty($_SCONFIG['template'])) {
$_SCONFIG['template'] = 'default'; }
//この段落を通じて、ホームページの下隅から独自のスタイルを選択できます。
if($_SCOOKIE['mytemplate']) {
$_SCOOKIE['mytemplate'] = str_replace('.','',trim($_SCOOKIE['mytemplate'])); (file_exists(S_ROOT.'./template/'.$_SCOOKIE['mytemplate'].'/style.css')) {
$_SCONFIG['template'] = $_SCOOKIE['mytemplate']; >} else {
ssetcookie('mytemplate', '');
}
}
// REQUEST_URI、クエリ文字列 (URL コンテンツの最初の疑問符? の後) を処理します。 空の場合、それは現在のページです。
if(!isset($_SERVER['REQUEST_URI'])) {
$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF']
if(isset($_SERVER['QUERY_STRING') ])) $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING']
}
//ユーザーのログインステータスを決定します
checkauth(); Menu
getuserapp();
//UC アプリケーションの処理、これはローミング関連のメニューです。ここで説明する必要はありません
$_SGLOBAL['appmenus'] = $_SGLOBAL['appmenu'] = array ();
if($_SGLOBAL['app']) {
foreach ($_SGLOBAL['app'] as $value) {
if($value['open']) {
if( emptyempty($_SGLOBAL['appmenu'])) {
$_SGLOBAL['appmenu'] = $value;
} else {
$_SGLOBAL['appmenu'][] = $value ;
}
}
}
}
?>