폐쇄 사이트 gate 만들기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

폐쇄 사이트 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개

전체 16 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT