정상적으로 로그인하여 접근하시기 바랍니다 에러요.....
본문
admin.lib.php 파일의 233라인부터 ~
// 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.
$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
if (get_session('ss_mb_key') !== $admin_key) {
$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
if (get_session('ss_mb_key') !== $admin_key) {
*************** 요기는 키변화를 체크해 보려고 제가 삽입한 부분 입니다 ***********************
echo "admin key===== ".$admin_key."<br><br>";
echo "session key===== ".get_session('ss_mb_key')."<br><br>";
echo "memberdate===== ".$member['mb_datetime']."<br><br>";
echo "remote===== ".$_SERVER['REMOTE_ADDR']."<br><br>";
echo "http user agent===== ".$_SERVER['HTTP_USER_AGENT']."<br><br>";
echo "session key===== ".get_session('ss_mb_key')."<br><br>";
echo "memberdate===== ".$member['mb_datetime']."<br><br>";
echo "remote===== ".$_SERVER['REMOTE_ADDR']."<br><br>";
echo "http user agent===== ".$_SERVER['HTTP_USER_AGENT']."<br><br>";
*************** 요기는 키변화를 체크해 보려고 제가 삽입한 부분 입니다 ***********************
session_destroy();
include_once(G5_LIB_PATH.'/mailer.lib.php');
// 메일 알림
mailer($member['mb_nick'], $member['mb_email'], $member['mb_email'], 'XSS 공격 알림', $_SERVER['REMOTE_ADDR'].' 아이피로 XSS 공격이 있었습니다.\n\n관리자 권한을 탈취하려는 접근이므로 주의하시기 바랍니다.\n\n해당 아이피는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.\n\n'.G5_URL, 0);
// 메일 알림
mailer($member['mb_nick'], $member['mb_email'], $member['mb_email'], 'XSS 공격 알림', $_SERVER['REMOTE_ADDR'].' 아이피로 XSS 공격이 있었습니다.\n\n관리자 권한을 탈취하려는 접근이므로 주의하시기 바랍니다.\n\n해당 아이피는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.\n\n'.G5_URL, 0);
alert_close('정상적으로 로그인하여 접근하시기 바랍니다.');
}
}

[ 그림 1 ]
[ 그림 1 ]은 관리자페이지에서 메뉴를 추가하기 위해 게시판 그룹을 주메뉴로 하고,
생성된 게시판들을 서브메뉴로 추가하기 위해 "추가"를 눌렀을 경우에 뜨는 에러창입니다.
중간에 보이는 글씨는 제가 테스트를 위해 임의로 추가한 아래부분 스크립트 때문에 그렇습니다.
*************** 요기는 키변화를 체크해 보려고 제가 삽입한 부분 입니다 ***********************
1. echo "admin key===== ".$admin_key."<br><br>";
2. echo "session key===== ".get_session('ss_mb_key')."<br><br>";
3. echo "memberdate===== ".$member['mb_datetime']."<br><br>";
4. echo "remote===== ".$_SERVER['REMOTE_ADDR']."<br><br>";
5. echo "http user agent===== ".$_SERVER['HTTP_USER_AGENT']."<br><br>";
2. echo "session key===== ".get_session('ss_mb_key')."<br><br>";
3. echo "memberdate===== ".$member['mb_datetime']."<br><br>";
4. echo "remote===== ".$_SERVER['REMOTE_ADDR']."<br><br>";
5. echo "http user agent===== ".$_SERVER['HTTP_USER_AGENT']."<br><br>";
*************** 요기는 키변화를 체크해 보려고 제가 삽입한 부분 입니다 ***********************
$admin_key 하고 get_session('ss_mb_key') 가 다른게 보이실 겁니다.
당연한 것이 아래 두 그림 [그림2][그림3]을 보면
http_user_agent= ($_SERVER['HTTP_USER_AGENT']) 부분의 값이 같은데
위에 그림을 보면 그 부분 값이 다릅니다.
원본 스크립트에 보면
$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
if (get_session('ss_mb_key') !== $admin_key) {
if (get_session('ss_mb_key') !== $admin_key) {
$admin_key를 만드는 부분에서 $_SERVER['HTTP_USER_AGENT'] 값이 달라져 버리니
에러가 날 수 밖에 없다는 생각입니다.

[ 그림 2 ]
위 그림은 로그인하지 않은 index.php 페이지 입니다.
$_SERVER['HTTP_USER_AGENT']

[ 그림 3 ]
위 그림은 로그인 후 화면을 캡쳐한 것입니다.
위에 값들을 살펴본 결과 $_SERVER['HTTP_USER_AGENT'] 값이 동일해야 하는데 바뀌는 군요.
mozila/4.0 .... <-> mozila/5.0..... 브라우저 체크값부터도 다르네요.
이부분 전체를 삭제하고 사용해도 괜찮은건지요?
아니면 다른 해결책은 혹시 있는지요?
답변 2
지금 막 다른 브라우저 체크해 봤습니다.
크롬 , 파폭 에서는 아무문제가 없네요.
익스 IE11 버젼을 쓰는데 익스에서만 그러네요....
저도 똑같은 증상입니다. config.php 에 쿠키 도메인 설정해도 마찬가지고
비교하는 값은 변햐지 않는데 로그인 할때 마다 ss_mb_key 값이 달라지니..
그렇다고 직접 수정하면 패치 할때 마다 문제가 발생할 것이고
이런 문제는 아주 오래전 부터 있었는데 고민이 되네요
답변을 작성하시기 전에 로그인 해주세요.