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

[code]

<?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";
}
?>
[/code]
/bbs/admin_change.php

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

|

댓글 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

 

 

이런 방법도 있습니다

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

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

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

그누보드5 팁자료실

+
제목 글쓴이 날짜 조회
3개월 전 조회 405
3개월 전 조회 553
3개월 전 조회 401
3개월 전 조회 433
3개월 전 조회 360
3개월 전 조회 610
3개월 전 조회 357
3개월 전 조회 380
3개월 전 조회 402
3개월 전 조회 266
3개월 전 조회 420
3개월 전 조회 415
3개월 전 조회 404
3개월 전 조회 368
3개월 전 조회 345
3개월 전 조회 285
3개월 전 조회 321
3개월 전 조회 288
3개월 전 조회 252
3개월 전 조회 437
3개월 전 조회 261
3개월 전 조회 338
3개월 전 조회 347
4개월 전 조회 480
4개월 전 조회 384
4개월 전 조회 379
4개월 전 조회 346
4개월 전 조회 565
4개월 전 조회 671
4개월 전 조회 789