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

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

늙은호랑이 1년 전 조회 2,422

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

그래서 환경설정 파일인 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 포인트
R
1년 전

참조하세요

</p>

<p>// 로그인 패스워드 체크</p>

<p>function login_password_check($mb, $pass, $hash)</p>

<p>{</p>

<p>    global $g5;</p>

<p> </p>

<p>    $mb_id = isset($mb['mb_id']) ? $mb['mb_id'] : '';</p>

<p> </p>

<p>    if(!$mb_id)</p>

<p>        return false;</p>

<p> </p>

<p>    if(G5_STRING_ENCRYPT_FUNCTION === 'create_hash' && (strlen($hash) === G5_MYSQL_PASSWORD_LENGTH || strlen($hash) === 16)) {</p>

<p>        if( sql_password($pass) === $hash ){</p>

<p> </p>

<p>            if( ! isset($mb['mb_password2']) ){</p>

<p>                $sql = "ALTER TABLE `{$g5['member_table']}` ADD `mb_password2` varchar(255) NOT NULL default '' AFTER `mb_password`";</p>

<p>                sql_query($sql);</p>

<p>            }</p>

<p>           </p>

<p>            $new_password = create_hash($pass);</p>

<p>            $sql = " update {$g5['member_table']} set mb_password = '$new_password', mb_password2 = '$hash' where mb_id = '$mb_id' ";</p>

<p>            sql_query($sql);</p>

<p>            return true;</p>

<p>        }</p>

<p>    }</p>

<p> </p>

<p>    return check_password($pass, $hash);</p>

<p>}</p>

<p>

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

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

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

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

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

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

로그인