글 등록시 제대로 된 접근이 아닌것 같습니다 라고 뜹니다.
글 등록시 제대로 된 접근이 아니라고 자꾸 뜨네요
(회원가입시에도 뜬다고 합니다)
그래서 검색해 보다가
아래 리퍼러 체크부분을 주석처리 하니 일단은 정상 작동 합니다.
// 리퍼러 체크
function referer_check($url="")
{
global $g4;
function referer_check($url="")
{
global $g4;
if (!$url)
$url = $g4[url];
$url = $g4[url];
// if (!preg_match("/^http[s]?:\/\/".$_SERVER[HTTP_HOST]."/", $_SERVER[SERVER_NAME]))
// alert("제대로 된 접근이 아닌것 같습니다.", $url);
}
// alert("제대로 된 접근이 아닌것 같습니다.", $url);
}
일단은 정상으로 되는데 저 부분이 어디에 쓰이는건지 궁금하네요..
저대로 두어도 되는지 아니면 따로 수정해야할 곳이 있는지요?
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 3개
접근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> <?=$now_server_name?>
<br><font color='#3C66AC'>■Server O/S</font> <?=$now_os_version?>
<br><font color='#3C66AC'>■Server C.G.I</font> <?=$now_php_version?>
<br><font color='#3C66AC'>■Server Software</font> <?=$now_server_soft ?>
<br><font color='#3C66AC'>■Server Port</font> <?=$now_port ?>
<font color='#BE000E'>유동IP는 ISP 에서 80포트를 대부분 막습니다. 이때는 IIS 또는 아파치의 환경에서 임의의 포트구성을 요합니다.</font>
<br><font color='#3C66AC'>■Server Root</font> <?=$now_root ?>
<br><font color='#3C66AC'>■Your Browser</font> <?=$now_browser?>
<br><font color='#3C66AC'>■Your IP</font> <?=$now_ip ?>
<br><font color='#3C66AC'>■Your ADDR</font> <?=$now_add ?>
<br><font color='#3C66AC'>■Your Came</font> <?=$now_from_came ?>
<br><font color='#3C66AC'>■My SQL Version</font>
<?=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;
처럼 바꿔서
출력을 해보시고 맞는거 적용을 하심 되겠네요.
답변해 주신 내용대로 한번 해 봐야겠습니다
감사합니다^^