테스트 사이트 - 개발 중인 베타 버전입니다

크롬 로그인시 오류가 생깁니다 ㅠㅠㅠ 도와주세요.. 채택완료

hsssss 4년 전 조회 2,227

개발자분이 카페24에서 호스팅을 구매한 후 도메인포워딩을 해주셨습니다.

근데 갑자기 크롬에서만 로그인 시 로그인을 하라고 뜹니다..

다른 개발자님들 common.php와 config.php 보고 따라서 건드렸는데도

해결이 되지 않습니다.

 

현재 포워딩한 도메인입니다

http://eclab.cnu.ac.kr/

 

뭐가문제일까요 대체..? ㅠㅠ

도와주세요..

 

common.php

</p>

<p><?php

/*******************************************************************************

** 공통 변수, 상수, 코드

*******************************************************************************/

error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING );</p>

<p>// 보안설정이나 프레임이 달라도 쿠키가 통하도록 설정

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"');</p>

<p>if (!defined('G5_SET_TIME_LIMIT')) define('G5_SET_TIME_LIMIT', 0);

@set_time_limit(G5_SET_TIME_LIMIT);</p>

<p>

//==========================================================================================================================

// extract($_GET); 명령으로 인해 page.php?_POST[var1]=data1&_POST[var2]=data2 와 같은 코드가 _POST 변수로 사용되는 것을 막음

// 081029 : letsgolee 님께서 도움 주셨습니다.

//--------------------------------------------------------------------------------------------------------------------------

$ext_arr = array ('PHP_SELF', '_ENV', '_GET', '_POST', '_FILES', '_SERVER', '_COOKIE', '_SESSION', '_REQUEST',

                  'HTTP_ENV_VARS', 'HTTP_GET_VARS', 'HTTP_POST_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS',

                  'HTTP_COOKIE_VARS', 'HTTP_SESSION_VARS', 'GLOBALS');

$ext_cnt = count($ext_arr);

for ($i=0; $i<$ext_cnt; $i++) {

    // POST, GET 으로 선언된 전역변수가 있다면 unset() 시킴

    if (isset($_GET[$ext_arr[$i]]))  unset($_GET[$ext_arr[$i]]);

    if (isset($_POST[$ext_arr[$i]])) unset($_POST[$ext_arr[$i]]);

}

//==========================================================================================================================</p>

<p>

function g5_path()

{

    $chroot = substr($_SERVER['SCRIPT_FILENAME'], 0, strpos($_SERVER['SCRIPT_FILENAME'], dirname(__FILE__)));

    $result['path'] = str_replace('\\', '/', $chroot.dirname(__FILE__));

    $tilde_remove = preg_replace('/^\/\~[^\/]+(.*)$/', '$1', $_SERVER['SCRIPT_NAME']);

    $document_root = str_replace($tilde_remove, '', $_SERVER['SCRIPT_FILENAME']);

    $pattern = '/' . preg_quote($document_root, '/') . '/i';

    $root = preg_replace($pattern, '', $result['path']);

    $port = ($_SERVER['SERVER_PORT'] == 80 || $_SERVER['SERVER_PORT'] == 443) ? '' : ':'.$_SERVER['SERVER_PORT'];

    $http = 'http' . ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 's' : '') . '://';

    $user = str_replace(preg_replace($pattern, '', $_SERVER['SCRIPT_FILENAME']), '', $_SERVER['SCRIPT_NAME']);

    $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];

    if(isset($_SERVER['HTTP_HOST']) && preg_match('/:[0-9]+$/', $host))

        $host = preg_replace('/:[0-9]+$/', '', $host);

    $host = preg_replace("/[\<\>\'\"\\\'\\\"\%\=\(\)\/\^\*]/", '', $host);

    $result['url'] = $http.$host.$port.$user.$root;

    return $result;

}</p>

<p>$g5_path = g5_path();</p>

<p>include_once($g5_path['path'].'/config.php');   // 설정 파일</p>

<p>unset($g5_path);</p>

<p>

// multi-dimensional array에 사용자지정 함수적용

function array_map_deep($fn, $array)

{

    if(is_array($array)) {

        foreach($array as $key => $value) {

            if(is_array($value)) {

                $array[$key] = array_map_deep($fn, $value);

            } else {

                $array[$key] = call_user_func($fn, $value);

            }

        }

    } else {

        $array = call_user_func($fn, $array);

    }</p>

<p>    return $array;

}</p>

<p>

// SQL Injection 대응 문자열 필터링

function sql_escape_string($str)

{

    if(defined('G5_ESCAPE_PATTERN') && defined('G5_ESCAPE_REPLACE')) {

        $pattern = G5_ESCAPE_PATTERN;

        $replace = G5_ESCAPE_REPLACE;</p>

<p>        if($pattern)

            $str = preg_replace($pattern, $replace, $str);

    }</p>

<p>    $str = call_user_func('addslashes', $str);</p>

<p>    return $str;

}</p>

<p>

//==============================================================================

// SQL Injection 등으로 부터 보호를 위해 sql_escape_string() 적용

//------------------------------------------------------------------------------

// magic_quotes_gpc 에 의한 backslashes 제거

if (get_magic_quotes_gpc()) {

    $_POST    = array_map_deep('stripslashes',  $_POST);

    $_GET     = array_map_deep('stripslashes',  $_GET);

    $_COOKIE  = array_map_deep('stripslashes',  $_COOKIE);

    $_REQUEST = array_map_deep('stripslashes',  $_REQUEST);

}</p>

<p>// sql_escape_string 적용

$_POST    = array_map_deep(G5_ESCAPE_FUNCTION,  $_POST);

$_GET     = array_map_deep(G5_ESCAPE_FUNCTION,  $_GET);

$_COOKIE  = array_map_deep(G5_ESCAPE_FUNCTION,  $_COOKIE);

$_REQUEST = array_map_deep(G5_ESCAPE_FUNCTION,  $_REQUEST);

//==============================================================================</p>

<p>

// PHP 4.1.0 부터 지원됨

// php.ini 의 register_globals=off 일 경우

@extract($_GET);

@extract($_POST);

@extract($_SERVER);</p>

<p>

// 완두콩님이 알려주신 보안관련 오류 수정

// $member 에 값을 직접 넘길 수 있음

$config = array();

$member = array();

$board  = array();

$group  = array();

$g5     = array();

$qaconfig = array();</p>

<p>//==============================================================================

// 공통

//------------------------------------------------------------------------------

$dbconfig_file = G5_DATA_PATH.'/'.G5_DBCONFIG_FILE;

if (file_exists($dbconfig_file)) {

    include_once($dbconfig_file);

    include_once(G5_LIB_PATH.'/common.lib.php');    // 공통 라이브러리</p>

<p>    $connect_db = sql_connect(G5_MYSQL_HOST, G5_MYSQL_USER, G5_MYSQL_PASSWORD) or die('MySQL Connect Error!!!');

    $select_db  = sql_select_db(G5_MYSQL_DB, $connect_db) or die('MySQL DB Error!!!');</p>

<p>    // mysql connect resource $g5 배열에 저장 - 명랑폐인님 제안

    $g5['connect_db'] = $connect_db;</p>

<p>    sql_set_charset('utf8', $connect_db);

    if(defined('G5_MYSQL_SET_MODE') && G5_MYSQL_SET_MODE) sql_query("SET SESSION sql_mode = ''");

    if (defined('G5_TIMEZONE')) sql_query(" set time_zone = '".G5_TIMEZONE."'");

} else {

?></p>

<p><!doctype html>

<html lang="ko">

<head>

<meta charset="utf-8">

<title>오류! <?php echo G5_VERSION ?> 설치하기</title>

<link rel="stylesheet" href="install/install.css">

</head>

<body></p>

<p><div id="ins_bar">

    <span id="bar_img">GNUBOARD5</span>

    <span id="bar_txt">Message</span>

</div>

<h1>그누보드5를 먼저 설치해주십시오.</h1>

<div class="ins_inner">

    <p>다음 파일을 찾을 수 없습니다.</p>

    <ul>

        <li><strong><?php echo G5_DATA_DIR.'/'.G5_DBCONFIG_FILE ?></strong></li>

    </ul>

    <p>그누보드 설치 후 다시 실행하시기 바랍니다.</p>

    <div class="inner_btn">

        <a href="<?php echo G5_URL; ?>/install/"><?php echo G5_VERSION ?> 설치하기</a>

    </div>

</div>

<div id="ins_ft">

    <strong>GNUBOARD5</strong>

    <p>GPL! OPEN SOURCE GNUBOARD</p>

</div></p>

<p></body>

</html></p>

<p>

 

config.php

</p>

<p><?php</p>

<p>/********************

    상수 선언

********************/</p>

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

define('G5_GNUBOARD_VER', '5.4.5.4');</p>

<p>// 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음

define('_GNUBOARD_', true);</p>

<p>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");

}</p>

<p>/********************

    경로 상수

********************/</p>

<p>/*

보안서버 도메인

회원가입, 글쓰기에 사용되는 https 로 시작되는 주소를 말합니다.

포트가 있다면 도메인 뒤에 :443 과 같이 입력하세요.

보안서버주소가 없다면 공란으로 두시면 되며 보안서버주소 뒤에 / 는 붙이지 않습니다.

입력예) <a href="https://www.domain.com:443/gnuboard5" target="_blank" rel="noopener noreferrer">https://www.domain.com:443/gnuboard5</a>

*/

define('G5_DOMAIN', '');

define('G5_HTTPS_DOMAIN', '');</p>

<p>/*

www.sir.kr 과 sir.kr 도메인은 서로 다른 도메인으로 인식합니다. 쿠키를 공유하려면 .sir.kr 과 같이 입력하세요.

이곳에 입력이 없다면 www 붙은 도메인과 그렇지 않은 도메인은 쿠키를 공유하지 않으므로 로그인이 풀릴 수 있습니다.

*/

define('G5_COOKIE_DOMAIN',  '');</p>

<p>define('G5_DBCONFIG_FILE',  'dbconfig.php');</p>

<p>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_EDITOR_DIR',     'editor');

define('G5_MOBILE_DIR',     'mobile');

define('G5_OKNAME_DIR',     'okname');</p>

<p>define('G5_KCPCERT_DIR',    'kcpcert');

define('G5_LGXPAY_DIR',     'lgxpay');</p>

<p>define('G5_SNS_DIR',        'sns');

define('G5_SYNDI_DIR',      'syndi');

define('G5_PHPMAILER_DIR',  'PHPMailer');

define('G5_SESSION_DIR',    'session');

define('G5_THEME_DIR',      'theme');</p>

<p>// URL 은 브라우저상에서의 경로 (도메인으로 부터의)

if (G5_DOMAIN) {

    define('G5_URL', G5_DOMAIN);

} else {

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

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

    else

        define('G5_URL', '');

}</p>

<p>if (isset($g5_path['path'])) {

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

} else {

    define('G5_PATH', '');

}</p>

<p>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_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);</p>

<p>// PATH 는 서버상에서의 절대경로

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_EDITOR_PATH',    G5_PLUGIN_PATH.'/'.G5_EDITOR_DIR);

define('G5_OKNAME_PATH',    G5_PLUGIN_PATH.'/'.G5_OKNAME_DIR);</p>

<p>define('G5_KCPCERT_PATH',   G5_PLUGIN_PATH.'/'.G5_KCPCERT_DIR);

define('G5_LGXPAY_PATH',    G5_PLUGIN_PATH.'/'.G5_LGXPAY_DIR);</p>

<p>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);

//==============================================================================</p>

<p>

//==============================================================================

// 사용기기 설정

// pc 설정 시 모바일 기기에서도 PC화면 보여짐

// mobile 설정 시 PC에서도 모바일화면 보여짐

// both 설정 시 접속 기기에 따른 화면 보여짐

//------------------------------------------------------------------------------

define('G5_SET_DEVICE', 'both');</p>

<p>define('G5_USE_MOBILE', true); // 모바일 홈페이지를 사용하지 않을 경우 false 로 설정

define('G5_USE_CACHE',  true); // 최신글등에 cache 기능 사용 여부</p>

<p>

/********************

    시간 상수

********************/

// 서버의 시간과 실제 사용하는 시간이 틀린 경우 수정하세요.

// 하루는 86400 초입니다. 1시간은 3600초

// 6시간이 빠른 경우 time() + (3600 * 6);

// 6시간이 느린 경우 time() - (3600 * 6);

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));</p>

<p>// 입력값 검사 상수 (숫자를 변경하시면 안됩니다.)

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); // 특수문자</p>

<p>// 퍼미션

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

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

<p>// 모바일 인지 결정 $_SERVER['HTTP_USER_AGENT']

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

<p>// SMTP

// lib/mailer.lib.php 에서 사용

define('G5_SMTP',      '127.0.0.1');

define('G5_SMTP_PORT', '25');</p>

<p>

/********************

    기타 상수

********************/</p>

<p>// 암호화 함수 지정

// 사이트 운영 중 설정을 변경하면 로그인이 안되는 등의 문제가 발생합니다.

define('G5_STRING_ENCRYPT_FUNCTION', 'sql_password');</p>

<p>// SQL 에러를 표시할 것인지 지정

// 에러를 표시하려면 TRUE 로 변경

define('G5_DISPLAY_SQL_ERROR', FALSE);</p>

<p>// escape string 처리 함수 지정

// addslashes 로 변경 가능

define('G5_ESCAPE_FUNCTION', 'sql_escape_string');</p>

<p>// sql_escape_string 함수에서 사용될 패턴

//define('G5_ESCAPE_PATTERN',  '/(and|or).*(union|select|insert|update|delete|from|where|limit|create|drop).*/i');

//define('G5_ESCAPE_REPLACE',  '');</p>

<p>// 게시판에서 링크의 기본개수를 말합니다.

// 필드를 추가하면 이 숫자를 필드수에 맞게 늘려주십시오.

define('G5_LINK_COUNT', 2);</p>

<p>// 썸네일 jpg Quality 설정

define('G5_THUMB_JPG_QUALITY', 90);</p>

<p>// 썸네일 png Compress 설정

define('G5_THUMB_PNG_COMPRESS', 5);</p>

<p>// 모바일 기기에서 DHTML 에디터 사용여부를 설정합니다.

define('G5_IS_MOBILE_DHTML_USE', false);</p>

<p>// MySQLi 사용여부를 설정합니다.

define('G5_MYSQLI_USE', true);</p>

<p>// Browscap 사용여부를 설정합니다.

define('G5_BROWSCAP_USE', true);</p>

<p>// 접속자 기록 때 Browscap 사용여부를 설정합니다.

define('G5_VISIT_BROWSCAP_USE', false);</p>

<p>// ip 숨김방법 설정

/* 123.456.789.012 ip의 숨김 방법을 변경하는 방법은

\\1 은 123, \\2는 456, \\3은 789, \\4는 012에 각각 대응되므로

표시되는 부분은 \\1 과 같이 사용하시면 되고 숨길 부분은 ♡등의

다른 문자를 적어주시면 됩니다.

*/

define('G5_IP_DISPLAY', '\\1.♡.\\3.\\4');</p>

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

    define('G5_POSTCODE_JS', '<script src="<a href="https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"></script>');" target="_blank" rel="noopener noreferrer">https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"></script>');</a>

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

    define('G5_POSTCODE_JS', '<script src="<a href="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>');" target="_blank" rel="noopener noreferrer">http://dmaps.daum.net/map_js_init/postcode.v2.js"></script>');</a>

}

?></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인