관리자 환경설정 비번설정 문의드립니다. 채택완료
늙은호랑이
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 포인트
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>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인