서버이전후 관리자 로그인에서 xss/csrx 방지 관리자 패스워드
본문
euckr 버전을 php 상위버전의 utf8으로 바꾸면서
php소스와 db파일을 utf8에 맞게 수정은 했는데요..
물론, 비번 암호화코드도 16비트를 41비트로 바꿔서 로그인 잘됩니다..
그런데
관리자 페이지에서
게시판이나 회원수정등을 위해 맨 밑에 관리자 로그인을 하려면
기본환경설정/관리권한설정에서는 "정상적인 접근이 아닌것 같습니다."
게시판관리등에서는 "비밀번호가 틀립니다" 라고 나옵니다.
xss,csrx 코드가 없는 곳에서는 수정이 잘됩니다..
common.lib.php 파일 관련코드 =====================================
// XSS (Cross Site Script) 막기
abort|blur|change|click|dblclick|dragdrop|error|focus|keydown|keypress|keyup|load|mousedown|mousemove|mouseout|mouseover|mouseup|mouseenter|mouseleave|move|reset|resize|select|submit|unload)/i", "$1<!-- XSS Filter -->$2", $content);
$content = preg_replace("/(on)([a-z]+)([^a-z]*)(\=)/i", "on$2$3$4", $content);
$content = preg_replace("/(dy)(nsrc)/i", "dy$2", $content);
$content = preg_replace("/(lo)(wsrc)/i", "lo$2", $content);
$content = preg_replace("/(sc)(ript)/i", "sc$2", $content);
$content = preg_replace("/(ex)(pression)/i", "ex$2", $content);
}
else // text 이면
{
// & 처리 : & 등의 코드를 정상 출력함
$content = html_symbol($content);
// 공백 처리
//$content = preg_replace("/ /", " ", $content);
$content = str_replace(" ", " ", $content);
$content = str_replace("\n ", "\n ", $content);
$content = get_text($content, 1);
$content = url_auto_link($content);
}
return $content;
}
...
==== config_form_update.php 파일관련코드 =====================================
<?
include_once("./_common.php");
if (!(get_session('captcha_keystring') && get_session('captcha_keystring') == $_POST['kcaptcha_key'])) {
}
}
...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
제 생각에 common.lib.php 코드의 잘못 같아서 올려 놨는데요
도움을 주시면 감사하겠습니다