글 등록시 제대로 된 접근이 아닌것 같습니다 라고 뜹니다. 정보
글 등록시 제대로 된 접근이 아닌것 같습니다 라고 뜹니다.본문
글 등록시 제대로 된 접근이 아니라고 자꾸 뜨네요
(회원가입시에도 뜬다고 합니다)
그래서 검색해 보다가
아래 리퍼러 체크부분을 주석처리 하니 일단은 정상 작동 합니다.
// 리퍼러 체크
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);
}
일단은 정상으로 되는데 저 부분이 어디에 쓰이는건지 궁금하네요..
저대로 두어도 되는지 아니면 따로 수정해야할 곳이 있는지요?
댓글 전체
말그대로 보안용도라고 할수있습니다. ㅎㅎ
접근URL과 접근 서버네임이 동일하지 않으면 제대로된 접근이 아니라고 나오죵.ㅎㅎㅎ
접근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;
처럼 바꿔서
출력을 해보시고 맞는거 적용을 하심 되겠네요.
#환경을 체크 합니다.
$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;
처럼 바꿔서
출력을 해보시고 맞는거 적용을 하심 되겠네요.
아.. 내용은 lib/common.lib.php안에 내용이었습니다.
답변해 주신 내용대로 한번 해 봐야겠습니다
감사합니다^^
답변해 주신 내용대로 한번 해 봐야겠습니다
감사합니다^^