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
3
댓글 6개

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

@들레아빠 감사합니다.

감사합니다.

감사합니다.

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
이런 방법도 있습니다

@해피정 좋은 정보 감사합니다
다른분들 참고로 적용 하면 될 것 같습니다.