function login_password_check($mb, $pass, $hash)

function login_password_check($mb, $pass, $hash)

QA

function login_password_check($mb, $pass, $hash)

본문

function login_password_check은 패스워드가 맞는지 확인하는 함수 아닌가요?

 

아무리 살펴봐도 패스워드를 체크하는 부분이 없고, 

 

 업데이트하는 이유가 뭔가요? 

 

혹시 sql_password($pass)함수에서 체크하는 건가요?

 

// 로그인 패스워드 체크
function login_password_check($mb, $pass, $hash)
{
    global $g5;

    $mb_id = isset($mb['mb_id']) ? $mb['mb_id'] : '';

    if(!$mb_id)
        return false;

    if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($hash) === G5_MYSQL_PASSWORD_LENGTH || strlen($hash) === 16)) {
        if( sql_password($pass) === $hash ){

            if( ! isset($mb['mb_password2']) ){
                $sql = "ALTER TABLE `{$g5['member_table']}` ADD `mb_password2` varchar(255) NOT NULL default '' AFTER `mb_password`";
                sql_query($sql);
            }
            
            $new_password = create_hash($pass);
            $sql = " update {$g5['member_table']} set mb_password = '$new_password', mb_password2 = '$hash' where mb_id = '$mb_id' ";
            sql_query($sql);
            return true;
        }
    }

    return check_password($pass, $hash);
}

이 질문에 댓글 쓰기 :

답변 2

이렇게 패스워드 체크하면 됩니다.

 


$sql = "select * from g54_member where mb_email ='$email'";
$mb = sql_fetch($sql);
if( login_password_check($mb, $password, $mb['mb_password']) ){
    echo "패스워드 맞음";
} else {
    echo "패스워드 틀림";
}
답변을 작성하시기 전에 로그인 해주세요.
전체 141
QA 내용 검색

회원로그인

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