관리자 환경설정 비번설정 문의드립니다.

관리자 환경설정 비번설정 문의드립니다.

QA

관리자 환경설정 비번설정 문의드립니다.

답변 2

본문

관리자페이지에서 환경설정 수정시 관리자 패스워드를 입력해야 수정 가능하도록 하려고합니다.

그래서 환경설정 파일인 adm/config_form.php 에 아래 소스를 추가하였습니다.

<tr><th scope="row"><label for="cf_title">관리자 패스워드<strong class="sound_only">필수</strong></label></th>
<td colspan="3"><input class='ed' type='password' name='admin_password' itemname="관리자 패스워드" required></td></tr>

 

그리고 config_form_update.php 상단에 아래 소스를 추가하였습니다.

if ($member[mb_password] != sql_password($_POST['admin_password'])) {
    alert("패스워드가 다릅니다.");
}

그누보드 4에서는 위 소스를 적용하면 잘 되는데 그누보드 최신버전에서는 비번을 맞게 입력했는데 "패스워드가 다릅니다" 라고 뜨는데 해결 방법이 있는지 문의드립니다.

이 질문에 댓글 쓰기 :

답변 2

참조하세요


// 로그인 패스워드 체크
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);
}
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 22
© SIRSOFT
현재 페이지 제일 처음으로