홈빌드




그누보드5 그누보드 최신버전 (5.0.36) 살펴보기 - config.php

♨ 카랜더 일정 :
  • 링크

  • 첨부

  • 컨텐츠 정보

    본문

    그누보드5 그누보드 최신버전 (5.0.36) 살펴보기 - config.php

      유창화 2015.06.16 13:24:58 조회 3,448 댓글 28 목록


    그누보드 최신버전 (5.0.36) 살펴보기 - config.php

    config.php 기본적인 환경 설정 파일입니다.


    그누보드가 실행시에 필요한 대부분의 설정을 "define" 을 통해 상수로 정의해 놓는 파일입니다.

    http://php.net/manual/kr/function.define.php


    define('G5_VERSION', '그누보드5');

    define('G5_GNUBOARD_VER', '5.0.36');

    이 프로그램이 그누보드5라는 것과 세부 버전 정보를 정의한 상수입니다.


    define('_GNUBOARD_', true);

    그누보드가 정상적인지 상태로 사용되는지 체크 하기 위한 상수입니다.

    하부에 인클루드 된 파일에서 이 "_GNUBOARD_" 설정여부를 따져서 실행할지 말지 결정하기도 합니다.

    예) skin/board/basic/list.skin.php 제일 상단


    if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

    if (PHP_VERSION >= '5.1.0') {

        //if (function_exists("date_default_timezone_set")) date_default_timezone_set("Asia/Seoul");

        date_default_timezone_set("Asia/Seoul");

    }

    그누보드에서 사용될 기본 timezone 설정입니다.

    php 의 날짜 관련 함수를 정확히 한국시간에 맞게 사용하기 위한 설정입니다.

    php 의 버전에 따라 이것을 설정하지 않으면 에러가 나는 경우가 있습니다.

    http://php.net/manual/kr/function.date-default-timezone-set.php


    define('G5_DOMAIN', '');

    현재 그누보드가 설치된 곳의 기본 주소를 설정합니다.

    설정하지 않아도 상관은 없습니다.


    설정되어있으면, 그누보드의 링크나 이미지 경로 같은 것들이 이것을 기준으로 만들어집니다.

    http://www.domain.com , 하부경로(gnuboard)에 그누보드를 설치하였다면 http://www.domain.com/gnuboard


    define('G5_HTTPS_DOMAIN', '');

    현재 그누보드를 설치한곳이 보안서버를 사용한다면, 이곳에 설정합니다.

    회원가입이나 로그인 같이 암호화 전송이 필요한곳에 이용됩니다.

    https://www.domain.com:443 , 하부경로(gnuboard)에 그누보드를 설치하였다면 https://www.domain.com:443/gnuboard

    만약 보안서버의 포트가 443 이면 기본 포트이므로 :443 은 생략 하시면 됩니다.

    --->>> https:// 적용 사례 ---> 저는 설정 사용 합니다.

    저는 여기만 변경하고  그누보드 sample server를 설치 설정 합니다.

    define('G5_DOMAIN', 'https://11q.kr:443/amina');// shimss_home_path shimss https:

    define('G5_HTTPS_DOMAIN', 'https://11q.kr:443/amina');// shimss_home_path shimss https:


    define('G5_COOKIE_DOMAIN',  '');

    쿠키나 세션에 이용될 도메인 정보 입니다.

    그누보드 운영환경이 domain.com 나 www.domain.com 으로 접속 가능할경우, 또는 서브도메인을 같이 사용할경우에는

    .domain.com 과 같이 설정합니다.

    그렇지 않을 경우는 설정하지 않아도 무방합니다.


    define('G5_DBCONFIG_FILE',  'dbconfig.php');

    디비와 관련 정보를 담은 파일의 이름을 설정합니다.

    보안상의 이유로 기본 "dbconfig.php" 라는 파일명 대신 다른 것(secret.php)을 사용한다면 "secret.php" 로 설정합니다.

    define('G5_ADMIN_DIR',      'adm');

    define('G5_BBS_DIR',        'bbs');

    define('G5_CSS_DIR',        'css');

    define('G5_DATA_DIR',       'data');

    define('G5_EXTEND_DIR',     'extend');

    define('G5_IMG_DIR',        'img');

    define('G5_JS_DIR',         'js');

    define('G5_LIB_DIR',        'lib');

    define('G5_PLUGIN_DIR',     'plugin');

    define('G5_SKIN_DIR',       'skin');

    define('G5_CAPTCHA_DIR',    'kcaptcha');

    define('G5_EDITOR_DIR',     'editor');

    define('G5_MOBILE_DIR',     'mobile');

    define('G5_OKNAME_DIR',     'okname');

    define('G5_KCPCERT_DIR',    'kcpcert');

    define('G5_LGXPAY_DIR',     'lgxpay');

    define('G5_SNS_DIR',        'sns');

    define('G5_SYNDI_DIR',      'syndi');

    define('G5_PHPMAILER_DIR',  'PHPMailer_v2.0.4');

    define('G5_SESSION_DIR',    'session');


    그누보드의 기본 필요한 것들이 들어잇는 기본 디렉토리명을 설정합니다.

    이것 역시 보안상의 이유로 바꾸어서 설정할수 있습니다.

    그리고 실 디렉토리명도 함께 바꾸어 주어야 합니다.

    if (G5_DOMAIN) {

        define('G5_URL', G5_DOMAIN);

    } else {

        if (isset($g5_path['url']))

            define('G5_URL', $g5_path['url']);

        else

            define('G5_URL', '');

    }

    이 부분은 그누보드에서 사용되는 각종 링크나 이미지, css, javascript 등의 url을 만들때 사용되어지는 "G5_URL" 을 설정합니다.


    상위에서 "G5_DOMAIN" 을 따로 설정하였다면 그것을 사용하고,

    설정하지 않았다면 그누보드 내부에서 기본 url을 생성하여 그것을 이용합니다.

    사용자는 굳이 수정하지 않아도 되는 부분입니다.

    if (isset($g5_path['path'])) {

        define('G5_PATH', $g5_path['path']);

    } else {

        define('G5_PATH', '');

    }


    이 부분은 그누보드에서 내부적으로 인클루드 하여 사용될 파일들의 기본 경로를 설정합니다.

    특수한 경우를 제외하고는 절대경로가 사용 되어집니다.

    사용자는 굳이 수정하지 않아도 되는 부분입니다.

    define('G5_ADMIN_URL',      G5_URL.'/'.G5_ADMIN_DIR);

    define('G5_BBS_URL',        G5_URL.'/'.G5_BBS_DIR);

    define('G5_CSS_URL',        G5_URL.'/'.G5_CSS_DIR);

    define('G5_DATA_URL',       G5_URL.'/'.G5_DATA_DIR);

    define('G5_IMG_URL',        G5_URL.'/'.G5_IMG_DIR);

    define('G5_JS_URL',         G5_URL.'/'.G5_JS_DIR);

    define('G5_SKIN_URL',       G5_URL.'/'.G5_SKIN_DIR);

    define('G5_PLUGIN_URL',     G5_URL.'/'.G5_PLUGIN_DIR);

    define('G5_CAPTCHA_URL',    G5_PLUGIN_URL.'/'.G5_CAPTCHA_DIR);

    define('G5_EDITOR_URL',     G5_PLUGIN_URL.'/'.G5_EDITOR_DIR);

    define('G5_OKNAME_URL',     G5_PLUGIN_URL.'/'.G5_OKNAME_DIR);

    define('G5_KCPCERT_URL',    G5_PLUGIN_URL.'/'.G5_KCPCERT_DIR);

    define('G5_LGXPAY_URL',     G5_PLUGIN_URL.'/'.G5_LGXPAY_DIR);

    define('G5_SNS_URL',        G5_PLUGIN_URL.'/'.G5_SNS_DIR);

    define('G5_SYNDI_URL',      G5_PLUGIN_URL.'/'.G5_SYNDI_DIR);

    define('G5_MOBILE_URL',     G5_URL.'/'.G5_MOBILE_DIR);


    위에서 생성된 "G5_URL" 과 각 디렉토리명 상수들을 이용하여 기본 URL 들이 설정되는 부분입니다.

    사용자는 수정이 불필요한 부분입니다.

    define('G5_ADMIN_PATH',     G5_PATH.'/'.G5_ADMIN_DIR);

    define('G5_BBS_PATH',       G5_PATH.'/'.G5_BBS_DIR);

    define('G5_DATA_PATH',      G5_PATH.'/'.G5_DATA_DIR);

    define('G5_EXTEND_PATH',    G5_PATH.'/'.G5_EXTEND_DIR);

    define('G5_LIB_PATH',       G5_PATH.'/'.G5_LIB_DIR);

    define('G5_PLUGIN_PATH',    G5_PATH.'/'.G5_PLUGIN_DIR);

    define('G5_SKIN_PATH',      G5_PATH.'/'.G5_SKIN_DIR);

    define('G5_MOBILE_PATH',    G5_PATH.'/'.G5_MOBILE_DIR);

    define('G5_SESSION_PATH',   G5_DATA_PATH.'/'.G5_SESSION_DIR);

    define('G5_CAPTCHA_PATH',   G5_PLUGIN_PATH.'/'.G5_CAPTCHA_DIR);

    define('G5_EDITOR_PATH',    G5_PLUGIN_PATH.'/'.G5_EDITOR_DIR);

    define('G5_OKNAME_PATH',    G5_PLUGIN_PATH.'/'.G5_OKNAME_DIR);

    define('G5_KCPCERT_PATH',   G5_PLUGIN_PATH.'/'.G5_KCPCERT_DIR);

    define('G5_LGXPAY_PATH',    G5_PLUGIN_PATH.'/'.G5_LGXPAY_DIR);

    define('G5_SNS_PATH',       G5_PLUGIN_PATH.'/'.G5_SNS_DIR);

    define('G5_SYNDI_PATH',     G5_PLUGIN_PATH.'/'.G5_SYNDI_DIR);

    define('G5_PHPMAILER_PATH', G5_PLUGIN_PATH.'/'.G5_PHPMAILER_DIR);

    위에서 생성된 "G5_PATH" 과 각 디렉토리명 상수들을 이용하여 기본 PATH(경로) 들이 설정되는 부분입니다.

    사용자는 수정이 불필요한 부분입니다.


    define('G5_SET_DEVICE', 'both');

    접속환경에 따라서 보여줄 화면을 설정합니다.

    both - pc 로 접속시 pc화면 와 모바일로 접속시 모바일 화면 사용

    pc - 어떤 환경으로 접속하여도 pc 화면만 보입니다.

    mobile - 어떤 환경으로 접속하여도 모바일 화면만 보입니다.


    define('G5_USE_MOBILE', true);

    모바일 화면을 사용할지 여부입니다. ---> 저는 설정 사용 합니다.

    false 인 경우는 "G5_SET_DEVICE" 가 pc 인 경우와 같다고 볼수 있습니다.

    define('G5_USE_CACHE',  true);

    페이지를 출력시 캐시를 사용 할지 여부를 설정합니다.

    false 로 설정하면 캐시를 사용하지 않습니다.

    캐시를 사용하면, 시스템의 자원을 많이 절약할수 있습니다.

    단점은, 최신글 등에 실시간 반영이 되지 않는다 입니다.

    define('G5_SERVER_TIME',    time());

    define('G5_TIME_YMDHIS',    date('Y-m-d H:i:s', G5_SERVER_TIME));

    define('G5_TIME_YMD',       substr(G5_TIME_YMDHIS, 0, 10));

    define('G5_TIME_HIS',       substr(G5_TIME_YMDHIS, 11, 8));

    프로그램 상에서 사용될 기본적인 시간값을 미리 뽑아놓습니다.

    프로그램이 진행되는 동안에도 시간은 계속 흐르기 때문에 그때 그때 시간을 뽑아서 저장하는것보다

    처리하는 동안의 저장되는 시간의 일치를 위에서 미리 뽑아놓고 그것을 사용하는 용도입니다.


    define('G5_ALPHAUPPER',      1); // 영대문자

    define('G5_ALPHALOWER',      2); // 영소문자

    define('G5_ALPHABETIC',      4); // 영대,소문자

    define('G5_NUMERIC',         8); // 숫자

    define('G5_HANGUL',         16); // 한글

    define('G5_SPACE',          32); // 공백

    define('G5_SPECIAL',        64); // 특수문자

    입력값 검사시 필요한 상수입니다.

    수정하시면 안됩니다.


    define('G5_DIR_PERMISSION',  0755); // 디렉토리 생성시 퍼미션

    define('G5_FILE_PERMISSION', 0644); // 파일 생성시 퍼미션

    프로그램 실행도중 생성되는 디렉토리와 파일의 권한 설정입니다.

    윈도우 서버는 신경 쓸 필요없고,

    리눅스 서버일때는 보안상의 이유로 적당히 변경하여 사용할수 있는 설정입니다.


    define('G5_MOBILE_AGENT',   'phone|samsung|lgtel|mobile|[^A]skt|nokia|blackberry|android|sony');

    현재 접속한 환경이 pc 인지 모바일인지 구분하기 위한 상수 값입니다.

    여기에 설정된 것만 모바일로 인식하겠다는 설정입니다.

    만약, 이것의 설정을 변경할때는

    이상태로 사용되는 것이 아니라 정규표현식 패턴으로 사용되어짐을 인식하고

    기기의 구분은 | 으로 두고 정규표현식에 맞게 수정하여야 문제가 없습니다.


    define('G5_SMTP', '127.0.0.1');

    메일을 보낼때 사용되는 설정입니다.

    smtp 설정인데. 외부 smtp를 쓰실경우에는 해당 서버의 아이피나 호스트명을 입력하면 됩니다.


    define('G5_STRING_ENCRYPT_FUNCTION', 'sql_password');

    내부적으로 사용될 암호화 함수를 설정합니다.

    암호화에는 풀수 있는것과 없는 것이 있는데, 경우에 따라 암호화 된것을 풀어서 사용해야 한다면

    여기서 거기에 맞는 함수를 설정하여 줍니다.

    변경시에는 반드시, 이것은 설치전에 미리 이 파일을 열어서 변경해야합니다.

    설치후에 변경하게 되면 로그인이 되지 않거나 정보가 엉키는 경우가 발생합니다.


    define('G5_DISPLAY_SQL_ERROR', FALSE);

    디비 작업을 하면서 발생되는 에러를 보여줄것인지 설정합니다.

    이것을 true 로 설정하게 되면 SQL 인젝션 공격의 빌미를 제공할수도 있습니다.

    오픈전에 개발단계라면 true, 오픈 하면 false 로 놓는 것이 바람직합니다.


    define('G5_ESCAPE_FUNCTION', 'sql_escape_string');

    디비에 저장시 들어갈 값을 필터링 해주거나 sql 실행상 문제가 없도록 만들어주는 함수를 설정합니다.

    개인이 개별적으로 만들어서 여기에 설정하고 사용하여도 됩니다.


    define('G5_LINK_COUNT', 2);

    게시판생성시 기본적으로 설정된 링크 갯수를 설정합니다.


    define('G5_THUMB_JPG_QUALITY', 90);

    게시판이나 다른 프로그램 내에서 썸네일 이미지를 생성할때 jpg 인경우 그 질을 얼마에 맞출것인가에 대한 설정입니다. 100 이 최고값입니다.


    define('G5_THUMB_PNG_COMPRESS', 5);

    게시판이나 다른 프로그램 내에서 썸네일 이미지를 생성할때 png 인경우 결과물의 압축 레벨을 설정합니다.

    0 에서 9까지 설정 가능합니다. 숫자가 높을수록 압축율이 높습니다.


    define('G5_IP_DISPLAY', '\\1.♡.\\3.\\4');

    게시판이나 각종 뷰 화면에서 아이피를 출력시 어떤 형태로 보여줄건지 지정하는 정규표현식의 패턴을 설정합니다.

    기본설정은 아이피가 123.123.123.123 이라면 123.♡.123.123 으로 보여집니다.


    if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') {   //https 통신일때 daum 주소 js

        define('G5_POSTCODE_JS', '<script src="https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"></script>');

    } else {  //http 통신일때 daum 주소 js

        define('G5_POSTCODE_JS', '<script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>');

    }

    다음 주소 api를 사용할때 필요한 부분입니다.

    큰 차이는 업고 현재 접속 환경이 https 냐 http 냐에 따라 다른 스크리트 파일을 사용한다는 설정입니다


     ♠♠ shimss home 는 https://11q.kr.com은 컴퓨터자료 dream PE 시놀로지 NAS 그누보드 아미나,APMS 모바일 pc 홈페이지 일상생활 을 위하여 정보를 찾아 공유 합니다.

    ♠ 출처는 링크 참조 바랍니다.♠ https://11q.kr.com https://11q.kr https://11q.kr https://11q.kr


    [이 게시물은 11qkr님에 의해 2021-06-16 02:51:00 11.Nas_1에서 이동 됨]
    [ 추가 정보 ... 더보기) ]
    뷰PDF 1,2



    office view

    관련자료

    댓글목록

    profile_image

    한국고용님의 댓글

    no_profile 한국고용 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 아이피 (113.♡.92.103) 작성일

    멋진분석 잘 봤습니다.

    profile_image

    shimss11q님의 댓글

    shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일

    오랜만에 config.php내용을 확인 합니다
    그누보드5 그누보드 최신버전 (5.0.36) 살펴보기 - config.php

    profile_image

    shimss11q님의 댓글

    shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일

    스킨 경로 에)
    include_once("<?=$board_skin_url?>/pdfjs/pdfjsviewer1.php");
    include_once($board_skin_path.'/pdfjs/pdfjsviewer1.php');
    <script src="<?=$board_skin_url?>/pdfjs/PDFObject/pdfobject.min.js"></script>

    profile_image

    shimss11q님의 댓글

    shimss11q 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 아이피 (192.♡.0.1) 작성일

    첨부파일 경로및 파일명
    <?php echo $view['file'][0]['path'];?>/<?php echo $view['file'][0]['file'];?>




    ♥간단_메모글♥


    최근글


    새댓글



    PHP 안에 HTML ☞ 홈페이지 화면갱신 시간은 ♨
    ▶ 2024-05-05 12:58:08

    오늘의 홈 현황


    • 현재 접속자♨ 262 명
    • 오늘 가입자※ 1 명
    • 어제 가입자※ 4 명
    • 주간 가입자※ 16 명
    • 오늘 방문자 1,264 명
    • 어제 방문자 2,141 명
    • 최대 방문자 13,042 명
    • 전체 방문자 4,304,927 명
    • 전체 게시물※ 8,556 개
    • 전체 댓글수※ 24,558 개
    • 전체 회원수 10,950 명

    QR코드


    ☞ QR코드 스캔은 kakao앱 자체 QR코드

    알림 0








    최신글↑