UCHOME의 코드는 여전히 매우 훌륭합니다. 공부해 보세요!
코드 복사 코드는 다음과 같습니다.
/**
* 일부 상수 정의
*/
@define('IN_UCHOME', TRUE) //파일 불법 삽입을 방지한다고 합니다
define( 'X_VER' , '1.2'); //Uchome 버전
define('X_RELEASE', '20080612'); //출시일
define('D_BUG', '0'); 디버깅, 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 =explore(' ', 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()>//구성 파일을 포함해 보세요. 웹사이트 구성 정보를 캐시 디렉터리에 저장하고, 실패할 경우 캐시 처리 기능 라이브러리에 포함시켜 구성 캐시를 생성합니다.
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의 특수 문자 자동 이스케이프 $_POST, $_COOKIE SQL 삽입 공격 방지
$ Magic_quote = get_magic_quotes_gpc()
if(emptyempty($magic_quote)) {
$_GET = saddslashes($_GET)
$_POST = saddslashes($_POST);
}
/ /COOKIE
$prelength = strlen($_SC['cookiepre'])
foreach($_COOKIE as $key => $val) {
if(substr($key, 0, $prelength ) == $_SC['cookiepre']) {
$_SCOOKIE[(substr($key, $prelength))] = 비어 있음($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' ] = 비어 있음($_GET['inajax'])?0:intval($_GET['inajax'])
$_SGLOBAL['ajaxmenuid'] = 비어 있음($_GET['ajaxmenuid'])?'' :$_GET['ajaxmenuid'];
$_SGLOBAL['refer'] = 비어 있음($_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()}
?> >/**
* 일부 상수 정의
*/
@define('IN_UCHOME', TRUE); //파일 불법 삽입을 방지한다고 합니다
define('X_VER', ' 1.2'); //Uchome 버전
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 =explore( ' ', 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()
//구성 파일을 포함해 보세요. 웹사이트 구성 정보를 캐시 디렉터리에 저장하고, 실패할 경우 캐시 처리 기능 라이브러리에 포함시켜 구성 캐시를 생성
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에서 특수 문자를 자동으로 이스케이프 처리 $ _POST, $_COOKIE SQL 주입 공격 방지
$magic_quote = get_magic_quotes_gpc();
if(emptyempty($magic_quote)) {
$_GET = saddslashes($_GET)
$_POST = saddslashes ($_POST);
//COOKIE
$prelength = strlen($_SC['cookiepre'])
foreach($_COOKIE as $key => $val) {
if(substr($key, 0, $prelength) == $_SC['cookiepre']) {
$_SCOOKIE[ (substr($key, $prelength))] = 비어 있음($magic_quote) ? ($발) : $발
}
}
//GIP 활성화
if ($_SC['gzipcompress'] && function_exists('ob_gzhandler')) {
ob_start('ob_gzhandler')
} else {
ob_start() ;
}
//초기화
$_SGLOBAL['supe_uid'] = 0;
$_SGLOBAL['supe_username'] = ''; ($_GET['inajax'])?0:intval($_GET['inajax'])
$_SGLOBAL['ajaxmenuid'] = 비어 있음($_GET['ajaxmenuid'])?'':$_GET ['ajaxmenuid'];
$_SGLOBAL['refer'] = 비어 있음($_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 Home] (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')//이것은 또한 상수, 부 버전 번호
define('X_RELEASE', '20090114');
/*프로그램의 디버깅 모드를 정의합니다. 프로그램이 실행될 때 상수 값을 1로 설정합니다. 오류가 발생하면 페이지에 표시됩니다. 오류 메시지가 표시됩니다.
디버깅 및 정상적인 사용 후에는 0으로 설정해야 프로그램 오류가 사용자에게 표시되지 않습니다.
*/
define('D_BUG', '0')
//D_BUG 상수 값을 통해 오류 보고 유형을 지정합니다. error_reporting()의 매개변수는 오류 보고 유형입니다. 관련 매개변수는 PHP 매뉴얼
D_BUG?error_reporting(7):error_reporting(0)
//아래에 정의된 전역 변수입니다. 자세한 내용은 나중에 사용할 때 하나씩 소개하겠습니다.
$_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("위치: install/index.php");
exit()
}
//일반 기능 파일로, 구체적인 기능은 아래에서 하나씩 설명하겠습니다. 소개 시간
include_once (S_ROOT.'./source/function_common.php');
//Time microtime()은 시간을 밀리초 단위로 가져옵니다
$mtime =explore(' ', 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 = saddslashes($_GET)
$_POST = saddslashes($_POST); 🎜>}
//현재 사이트의 도메인 이름을 얻기 위해 getsiteurl()을 사용하는 화물 소유자 사이트의 URL
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는 캐시가 포함된 함수 파일입니다.
include_once(S_ROOT.'./source/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) {
//Judge
if(substr($key, 0, $prelength) == $_SC['cookiepre']) {
//COOKIE 값을 탈출하세요
아래의 COOKIES 중 UCHome에 속한 현재 도메인 이름 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'] = 비어 있음($_GET['ajaxmenuid'])?'':$_GET['ajaxmenuid']
$_SGLOBAL['refer'] = 비어 있음( $_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']))
//전체 사이트 스타일을 확인하세요. 사이트 템플릿의 경로입니다. 이는 일반적으로 사용되는 노란색 스타일 템플릿 경로인 기본 디렉터리입니다.
if(emptyempty($_SCONFIG['template'])) {
$_SCONFIG['template'] = 'default'; }
//홈페이지 하단에서 이 문단을 통해 원하는 스타일을 선택하실 수 있습니다.
if($_SCOOKIE['mytemplate']) {
$_SCOOKIE['mytemplate'] = str_replace('.','',trim($_SCOOKIE['mytemplate']))
if (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( 비어 있음($_SGLOBAL['appmenu'])) {
$_SGLOBAL['appmenu'] = $value;
} else {
$_SGLOBAL['appmenus'][] = $value ;
}
}
}
}
?>
위 내용은 홈 컨텐츠를 포함하여 홈 Uchome12 15 코드 학습 commonphp를 소개하고 있으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.