mysql 버젼업에 따른 패스워드 문제

mysql 버젼업에 따른 패스워드 문제

QA

mysql 버젼업에 따른 패스워드 문제

본문

원본

http://sir.kr/g4_tiptech/21757

 

<bbs/login_check.php 수정>

 

원본 - line 26~28

-----------------------------------------

if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {

    alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");

}

-----------------------------------------

 

=>

 

수정본

-----------------------------------------

if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password] and sql_old_password($mb_password) != $mb[mb_password])) {

    alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");

} else {

    if (sql_old_password($mb_password) == $mb[mb_password]) {

        $sql_password = " mb_password = '".sql_password($mb_password)."' ";

        $sql = " update {$g4[member_table]}

                    set $sql_password 

                  where mb_id = '$mb[mb_id]' ";

        sql_query($sql);

    }

}

 

이렇게 변경을 하면 된다고 하는데

그누보드5는

if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) { 

위 부분처럼 되어 있지가 않네요.

어떻게 수정을 하면될까요?

이 질문에 댓글 쓰기 :

답변 2

그누5팁에도 있네요.

http://sir.kr/g5_tip/3423

링크대로 수정을 했는데 안되네요. ㅠㅠ

서버 버전: 5.0.67-log
이렇게 되어 있습니다.
이곳에 그누보드5 설치를 했는데 회원정보 팩스워드를 보면
다음과 같습니다.
7a5efc50383f56fb

그런데 오랜전에 패스워드 부분은
*89C6B530AA78695E257E55D63C00A6EC9AD3E977

이렇게 되어 있습니다.

후자가 41bytes 처리된것 아닌가요?

/common.lib.php 파일의 

 

sql_password 함수에서

 


function sql_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    $row = sql_fetch(" select old_password('$value') as pass ");
    return $row['pass'];
}


로 수정하시면 될듯..

 

답변을 작성하시기 전에 로그인 해주세요.
전체 18
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT