글 등록시 제대로 된 접근이 아닌것 같습니다 라고 뜹니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

글 등록시 제대로 된 접근이 아닌것 같습니다 라고 뜹니다. 정보

글 등록시 제대로 된 접근이 아닌것 같습니다 라고 뜹니다.

본문

글 등록시 제대로 된 접근이 아니라고 자꾸 뜨네요
(회원가입시에도 뜬다고 합니다) 
 
그래서 검색해 보다가
 
아래 리퍼러 체크부분을 주석처리 하니 일단은 정상 작동 합니다.
 
 
// 리퍼러 체크
function referer_check($url="")
{
    global $g4;
    if (!$url)
        $url = $g4[url];
  //  if (!preg_match("/^http[s]?:\/\/".$_SERVER[HTTP_HOST]."/", $_SERVER[SERVER_NAME]))
    //    alert("제대로 된 접근이 아닌것 같습니다.", $url);
}
 
 
 
일단은 정상으로 되는데 저 부분이 어디에 쓰이는건지 궁금하네요..
 
저대로 두어도 되는지 아니면 따로 수정해야할 곳이 있는지요?

댓글 전체

#################################################
#환경을 체크 합니다.
$now_server_name=$SERVER_NAME;
$now_server_soft=$SERVER_SOFTWARE;
$now_add=$PHPSERVER_ADDR;
$now_ip=$REMOTE_ADDR;
$now_port=$SERVER_PORT;
$now_root=$DOCUMENT_ROOT;
$now_browser=$HTTP_USER_AGENT;
$now_from_came=$HTTP_REFERER;
$now_self=$PHP_SELF;
$now_cookie_vars=$HTTP_COOKIE_VARS;
$now_get_var=$HTTP_GET_VARS;
$now_post_var=$HTTP_POST_VARS;
#PHP의 환경을 체크 합니다.
$now_php_version="PHP Version:".PHP_VERSION;
$now_os_version=PHP_OS;
#SQL의 환경을 체크 합니다.
$my_SQL_result = mysql_query("SELECT VERSION() AS version") or mysql_die();
$my_SQL_row = mysql_fetch_array($my_SQL_result);
define("MYSQL_MAJOR_VERSION", substr($my_SQL_row["version"], 0, 4));
define("MYSQL_MINOR_VERSION", substr($my_SQL_row["version"], 5));
#################################################

<b><font color='#BE000E'>설치환경을 체크합니다. </font> </b>
<br><font color='#3C66AC'>■Server Name</font>&nbsp;<?=$now_server_name?>
<br><font color='#3C66AC'>■Server O/S</font>&nbsp;<?=$now_os_version?>
<br><font color='#3C66AC'>■Server C.G.I</font>&nbsp;<?=$now_php_version?>
<br><font color='#3C66AC'>■Server Software</font>&nbsp;<?=$now_server_soft ?>
<br><font color='#3C66AC'>■Server Port</font>&nbsp;<?=$now_port ?>
<font color='#BE000E'>유동IP는 ISP 에서 80포트를 대부분 막습니다. 이때는 IIS 또는 아파치의 환경에서 임의의 포트구성을 요합니다.</font>
<br><font color='#3C66AC'>■Server Root</font>&nbsp;<?=$now_root ?>
<br><font color='#3C66AC'>■Your Browser</font>&nbsp;<?=$now_browser?>
<br><font color='#3C66AC'>■Your IP</font>&nbsp;<?=$now_ip ?>
                             
<br><font color='#3C66AC'>■Your ADDR</font>&nbsp;<?=$now_add ?>
<br><font color='#3C66AC'>■Your Came</font>&nbsp;<?=$now_from_came ?>

<br><font color='#3C66AC'>■My SQL Version</font>&nbsp;
<?=MYSQL_MAJOR_VERSION?><?=MYSQL_MINOR_VERSION?>
<br>


어디에 있는 부분인지는 모르지만
이게 정상 같은데..
 if (!preg_match("/^http[s]?:\/\/".$_SERVER[HTTP_HOST]."/", $_SERVER[HTTP_REFERER]))

그건 그거고

(!preg_match("/^http[s]?:\/\/".$_SERVER[HTTP_HOST]."/",
$_SERVER[SERVER_NAME]))

이렇게 두부분으로 끊어 보면
어떤 경로를 통해서 들어온 url 이
http 로 시작하고 s 는 붙을수도 있고 안붙을 도 있다입니다.
접속자 통계에 보면 타고온 url을 말하는 듯 한데..

각각의 환경체크 변수는
`_`이 붙고 안붙고는 서버 설정에서 define 해주는 방법도 있고
PHP 버젼과 접속된 브라루져를 판별하여
나타내는 방법이 많기도 하더군요.

적용을 하신다면
 
$_SERVER[SERVER_NAME] 은  $now_server_name=$SERVER_NAME;
$_SERVER[HTTP_REFERER] 은  $now_from_came=$HTTP_REFERER;
처럼 바꿔서
출력을 해보시고 맞는거 적용을 하심 되겠네요.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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