[제나플러스] [펌]패스워드 41bite 버전에서 16bite 버전으로 옮겨야할 경우. > 팁앤테크

본문 바로가기
사이트 내 전체검색

팁앤테크

[제나플러스] [펌]패스워드 41bite 버전에서 16bite 버전으로 옮겨야할 경우.

페이지 정보

본문

패스워드 41bite 버전에서 16bite 버전으로 옮겨야할 경우.

기존홈피가 41bite 암호방식을 하는 DB를 사이트 이전의 이유로 16bite 버전으로 옮겨야할 경우.

mysql 버전이 4.1이상인데도 구버전을 사용하는 경우가 있을 수 있습니다.

아마도 새로운 41bite방식을 사용하지 않고 구 16bite방식을 계속 사용하기 위해 옵션을 조절한 경우일텐데요.

일부러 이렇게 사용하는 이유는 .. 뭔 사정이 있겠지만..

암튼 구버전으로 구동되기 때문에 로그인, 정보수정 등에서 비번 정보를 물어오는데요.

이때 옮기기전 서버에서 신버전을 사용하기 때문에 일반적으로는 로그인이 되지 않습니다.

버전별 암호화 방식이 다르기 때문에 다른 문자로 인식해서 입니다.

이럴때는 구버전과 신버전의 암호를 비교하여 신버전 암호가 맞으면 암호를 구버전으로 업데이트

하라는 방식이로 구현할 수 있습니다.

좀전에 있던 것과 정반대로 하는 방식입니다.

http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=21757

위의 방식이 맞는 줄 알고 했다가 다시 로그인해보니 안되어서 다시

한 2시간 해메이다. 풀었습니다.



이럴때는 sql_query("set old_passwords=OFF"); <= 요놈을 적절하게 사용하여 설정을 잡아 줘야한다는 것이었습니다.


./lib/common.lib.php 파일에서



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];
}





그리고

./bbs/login.check.php 에서


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' ";
    sql_query($sql);

} elseif (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password])) {

    alert("가입된 회원이 아니거나 패스워드가 틀립니다.\\n\\n패스워드는 대소문자를 구분합니다.");
}


해주시면

로그인하는 회원들의 비밀번호가 로그인 할 때 41bite 버전에서 16bite 버전으로 자동으로 바뀌게 되어
구번전으로 변경되게 됩니다.
추천0

댓글목록

등록된 댓글이 없습니다.

Total 285건 1 페이지
  • RSS
팁앤테크 목록
번호 제목 글쓴이 조회 추천 날짜
285 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 19821 0 11-16
284 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 20224 0 11-08
283 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 21106 0 10-16
282 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 21202 0 10-16
열람중 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 22493 0 04-25
280 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 24646 0 10-19
279 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 20812 0 10-17
278 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 24810 0 09-18
277 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 27267 0 09-18
276 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 24791 0 09-18
275 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 21878 0 09-07
274 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 25572 0 04-20
273 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 27267 0 03-14
272 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 30195 0 01-26
271 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 31123 0 01-24
270 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 32241 0 01-10
269 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 34305 0 12-10
268 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 46034 0 10-13
267 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 43874 0 10-04
266 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 45119 0 09-19
265 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 38831 0 09-19
264 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 35152 0 09-14
263 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 27117 0 09-12
262 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 27366 0 09-03
261 제로쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 25676 0 09-03

검색

회원로그인

회원가입

사이트 정보

株式会社YHPLUS / 대표 : ZERO
〒140-0011 東京都品川区東大井2-5-9-203
050-5539-7787
오픈카카오톡 (YHPLUS) :
https://open.kakao.com/o/slfDj15d

접속자집계

오늘
3,331
어제
3,840
최대
9,679
전체
2,653,618
Copyright (c) 株式会社YHPLUS. All rights reserved.