테스트 사이트 - 개발 중인 베타 버전입니다

서버이전후 관리자 로그인에서 xss/csrx 방지 관리자 패스워드 채택완료

사이버 11년 전 조회 9,216

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", "&#111;&#110;$2$3$4", $content);
        $content = preg_replace("/(dy)(nsrc)/i", "&#100;&#121;$2", $content);
        $content = preg_replace("/(lo)(wsrc)/i", "&#108;&#111;$2", $content);
        $content = preg_replace("/(sc)(ript)/i", "&#115;&#99;$2", $content);
        $content = preg_replace("/(ex)(pression)/i", "&#101&#120;$2", $content);
   
    }
    else // text 이면
    {
        // & 처리 : &amp; &nbsp; 등의 코드를 정상 출력함
        $content = html_symbol($content);

        // 공백 처리
  //$content = preg_replace("/  /", "&nbsp; ", $content);
  $content = str_replace("  ", "&nbsp; ", $content);
  $content = str_replace("\n ", "\n&nbsp;", $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 코드의 잘못 같아서 올려 놨는데요

 

도움을 주시면 감사하겠습니다

 

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인