폐쇄 사이트 gate 만들기 정보
폐쇄 사이트 gate 만들기본문
gate.php를 만들고 이 곳을 통해서만 사이트 내 다른 페이지를 볼 수 있게 합니다.
우선 common.php에서 필요한 부분을 잘라서 gate.php를 만듭니다.
그리고 gate.php?key=abcd 로 접속해서 세션 값을 만들고
common.php에서 이 것을 체크하여 없으면 접근을 차단합니다.
gate.php
<?php
// 세션변수 생성
function set_session($session_name, $value) {
session_register($session_name);
// PHP 버전별 차이를 없애기 위한 방법
$$session_name = $_SESSION["$session_name"] = $value;
}
function goto_url($url) {
echo "<script language='JavaScript'> location.replace('$url'); </script>";
exit;
}
/*******************************************************************************
** 공통 변수, 상수, 코드
*******************************************************************************/
error_reporting(E_ALL ^ E_NOTICE);
// 보안설정이나 프레임이 달라도 쿠키가 통하도록 설정
header('P3P: CP="ALL CURa ADMa DEVa TAIa OUR BUS IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC OTC"');
if (!isset($set_time_limit)) $set_time_limit = 0;
@set_time_limit($set_time_limit);
// 짧은 환경변수를 지원하지 않는다면
if (isset($HTTP_POST_VARS) && !isset($_POST)) {
$_POST = &$HTTP_POST_VARS;
$_GET = &$HTTP_GET_VARS;
$_SERVER = &$HTTP_SERVER_VARS;
$_COOKIE = &$HTTP_COOKIE_VARS;
$_ENV = &$HTTP_ENV_VARS;
$_FILES = &$HTTP_POST_FILES;
if (!isset($_SESSION))
$_SESSION = &$HTTP_SESSION_VARS;
}
//-------------------------------------------
// SESSION 설정
//-------------------------------------------
ini_set("session.use_trans_sid", 0); // PHPSESSID를 자동으로 넘기지 않음
ini_set("url_rewriter.tags",""); // 링크에 PHPSESSID가 따라다니는것을 무력화함 (해뜰녘님께서 알려주셨습니다.)
session_save_path("data/session");
if (isset($SESSION_CACHE_LIMITER))
@session_cache_limiter($SESSION_CACHE_LIMITER);
else
@session_cache_limiter("no-cache, must-revalidate");
ini_set("session.cache_expire", 180); // 세션 캐쉬 보관시간 (분)
ini_set("session.gc_maxlifetime", 1440); // session data의 gabage collection 존재 기간을 지정 (초)
//session_set_cookie_params(0, "/");
//ini_set("session.cookie_domain", $g4['cookie_domain']);
@session_start();
if( $_SESSION['gate_on'] || $_GET['key'] == 'abcd') {
set_session('gate_on', '1');
goto_url("/index.php");
} else die('접근 방법이 올바르지 않습니다.');
?>
commo.php에서
@session_start(); 다음에 추가
if( empty( $_SESSION['gate_on'] )) {
goto_url("/gate.php");
}
0
댓글 0개