2026, 새로운 도약을 시작합니다.

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

2년 전 조회 2,604

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

그래서 환경설정 파일인 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개

채택된 답변
+20 포인트

참조하세요

Copy


// 로그인 패스워드 체크

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);

}

로그인 후 평가할 수 있습니다

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

감사합니다. 보내주신 답변 힌트를 얻어서 해결했습니다.

로그인 후 평가할 수 있습니다

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

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

로그인
🐛 버그신고