sha256 관리자 비번 원하는 것으로 리셋 하기 > 그누보드5 팁자료실

그누보드5 팁자료실

sha256 관리자 비번 원하는 것으로 리셋 하기 정보

sha256 관리자 비번 원하는 것으로 리셋 하기

본문


<?php
include_once('./_common.php');
$admin_id = 'admin'; // 관리자 아이디
$admin_pass = sin_password('1111'); // 원 하는 비번으로 입력
if ($admin_id != $config['cf_admin'])
alert('관리자 id가 잘못 입력되었습니다. '.$config['cf_admin'].' 으로 수정하세요.', G5_URL);
sql_query(" update {$g5['member_table']} set mb_password = '$admin_pass' where mb_id = '$admin_id' ");
alert('관리자 비번이 변경되었습니다. 확인 후 이 파일은 반드시 삭제하세요.', G5_URL);
function sin_password($password) {
    $algorithm = 'sha256';
    $iterations = 12000;
    $salt = base64_encode(random_bytes(16));
    $hash = base64_encode(hash_pbkdf2($algorithm, $password, $salt, $iterations, 32, true));
    
    return "$algorithm:$iterations:$salt:$hash";
}
?>

/bbs/admin_change.php

이런식으로 파일을 만들고 위 내용을 붙여 넣기하고
해당 파일을 접속하면 관리자 비번을 리셋 할 수 있습니다.
최신 버전에 작동 하는 구조 입니다.
이전 버전에는 작동하지 않습니다.
sha256 비번 생성 하는 버전 부터 작동이 됩니다.
어느 싯점 인지는 모르지만.....
이전에 쓰던 코드가 안된다고 문의가 와서 변경해 봤습니다.
추천
3

댓글 6개

config.php 의 설정에 따라 다르게 분기시켜야 합니다

아래는 config.php 내용중 암호화 설정 관련 내용입니다

 

// 암호화 함수 지정
// 사이트 운영 중 설정을 변경하면 로그인이 안되는 등의 문제가 발생합니다.
// 5.4 버전 이전에는 sql_password 이 사용됨, 5.4 버전부터 기본이 create_hash 로 변경
//define('G5_STRING_ENCRYPT_FUNCTION', 'sql_password');
define('G5_STRING_ENCRYPT_FUNCTION', 'create_hash');
define('G5_MYSQL_PASSWORD_LENGTH', 41);         // mysql password length 41, old_password 의 경우에는 16

 

 

이런 방법도 있습니다

https://www.happyjung.com/lecture/1677

전체 2,725 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

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