[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 459건 13 페이지
  • RSS
기술자료 목록
219
그누보드   10320  2014-10-20 19:50  
218
그누보드   16027  2014-10-14 19:36 ~ 2021-11-30 11:32  
217
그누보드   12133  2014-10-01 10:57 ~ 2024-01-12 16:23  
216
그누보드   12124  2014-09-25 16:34  
215
그누보드   12236  2014-09-20 22:19  
214
그누보드   12099  2014-08-28 15:36  
213
그누보드   13694  2014-08-23 19:55  
212
그누보드   64671  2014-08-20 11:50 ~ 2022-11-22 16:25  
열람
그누보드   20607  2014-07-15 01:14 ~ 2019-12-17 09:47  
210
그누보드   81304  2014-06-07 22:13 ~ 2017-09-07 00:00  
209
그누보드   17029  2014-05-31 17:42 ~ 2021-03-03 14:50  
208
그누보드   12530  2014-05-31 15:08  
207
그누보드   17822  2014-05-28 10:35 ~ 2023-01-20 11:50  
206
그누보드   16647  2014-05-12 02:07 ~ 2019-08-08 17:50  
205
그누보드   11624  2014-04-19 17:21  
204
그누보드   50146  2014-04-19 17:15 ~ 2018-10-30 22:51  
203
그누보드   37092  2014-04-13 14:57  
202
그누보드   14473  2014-04-10 09:03  
201
그누보드   22201  2014-04-10 08:50 ~ 2019-08-11 12:25  
200
그누보드   18824  2014-03-01 19:34 ~ 2023-01-19 16:38  

검색

해피정닷컴 정보

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

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