[G4/G5] MySQL 4.1.x, 5.x 로 생성된 password (41byte)를 MySQL 4.0.x 이하(16byte)로 변경 > 기술자료 | 해피정닷컴

[G4/G5] MySQL 4.1.x, 5.x 로 생성된 password (41byte)를 MySQL 4.0.x 이하(16byte)로 변경 > 기술자료

본문 바로가기

사이트 내 전체검색

[G4/G5] MySQL 4.1.x, 5.x 로 생성된 password (41byte)를 MySQL 4.0.x 이하(16byte)로 변경 > 기술자료

그누보드 [G4/G5] MySQL 4.1.x, 5.x 로 생성된 password (41byte)를 MySQL 4.0.x 이하(16byte)로 변경

페이지 정보


본문

패스워드(비밀번호) 41bite 버전에서 16bite 버전으로 옮겨야할 경우
기존홈피가 41bite 암호방식을 하는 DB를 사이트 이전의 이유로 16bite 버전으로 옮겨야할 경우

이럴때는 sql_query("set old_passwords=OFF");  을 적절하게 사용하여 설정을 변경해야 합니다.
로그인 성공시 비밀번호가 16바이트이면 41바이트로 변경됩니다.


[ 그누보드4 ]

1. 그누보드4 / lib / common.lib.php   1175 ~ 1181줄

function sql_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    $row = sql_fetch(" select password('$value') as pass ");
    return $row[pass];
}

를 다음과 같이 변경

function sql_old_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
 
    sql_query("set old_passwords=OFF");
    $row = sql_fetch(" select password('$value') as pass ");
    return $row[pass];
}

function sql_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    sql_query("set old_passwords=ON");
    $row = sql_fetch(" select password('$value') as pass ");
    return $row[pass];
}


2. 그누보드4 / bbs / login_check.php  25~27줄

if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {
    alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}

를 다음과 같이 변경

if (sql_old_password($mb_password) == $mb[mb_password]) { // 옛날 패스워드를 새로운 패스워드로 바꿉니다.
    $sql = " update {$g4['member_table']} set mb_password='".sql_password($mb_password)."' where mb_id='{$mb_id}' ";
} elseif (!$mb['mb_id'] || (sql_password($mb_password) != $mb['mb_password'])) {
    alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}


참고자료
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=32080
http://vndfbfkd.tistory.com/609



[ 그누보드5 ]

1. 그누보드5.2 / bbs / login_check.php  17~18줄

if (!$mb['mb_id'] || !check_password($mb_password, $mb['mb_password'])) {
    alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');
}

를 다음과 같이 변경

function check_old_password($value) {
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    $row = sql_fetch(" select old_password('$value') as pass ");
    return $row[pass];
}
if (!$mb['mb_id'] || (!check_password($mb_password, $mb['mb_password']) && !check_old_password($mb_password, $mb['mb_password']))) {
    alert('가입된 회원아이디가 아니거나 비밀번호가 틀립니다.\\n비밀번호는 대소문자를 구분합니다.');
} elseif (check_old_password($mb_password) == $mb[mb_password]) { // 옛날 비밀번호를 새로운 비밀번호로 바꿉니다.
    //$sql = " update {$g5['member_table']} set mb_password='".sql_password($mb_password)."' where mb_id='{$mb_id}' ";
    sql_query($sql);




참고자료
http://sir.kr/g5_tip/3423 
https://sir.kr/qa/191265 



MySQL 4.0이하 생성된 회원password 및 비회원 게시글 비밀번호를 MySQL 4.1, 5.x 로 변경하는 방법
https://www.happyjung.com/lecture/320

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 1 페이지
  • RSS
기술자료 목록
2641
그누보드   25  2024-11-26 21:14 ~ 2024-11-26 21:22  
2640
그누보드   71  2024-11-22 10:52 ~ 2024-11-22 11:03  
2639
호스팅   107  2024-11-19 14:41 ~ 2024-11-19 21:17  
2638
Linux   85  2024-11-18 15:45 ~ 2024-11-18 15:48  
2637
일반   89  2024-11-15 16:45 ~ 2024-11-15 16:46  
2636
Secure   137  2024-11-06 18:48 ~ 2024-11-06 18:50  
2635
영카트   282  2024-10-21 13:44 ~ 2024-10-21 19:42  
2634
전자결제   544  2024-09-05 09:30  
2633
MySQL   947  2024-03-29 14:14 ~ 2024-03-29 14:14  
2632
그누보드   1174  2024-02-23 18:40 ~ 2024-02-24 06:13  
2631
JavaScript   1272  2024-02-16 18:50 ~ 2024-02-16 20:37  
2630
Java   1223  2024-02-06 16:49  
2629
PHP   1391  2024-02-06 16:42  
2628
호스팅   1237  2024-01-29 12:54  
2627
PHP   1299  2024-01-26 11:04 ~ 2024-01-26 11:13  
2626
MySQL   1501  2024-01-08 17:37 ~ 2024-03-14 16:00  
2625
SQL   1606  2024-01-08 12:36  
2624
영카트   1673  2024-01-04 14:57  
2623
일반   2571  2023-12-15 18:33  
2622
Android   2060  2023-11-30 18:48 ~ 2023-11-30 19:41  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.