mysql 버젼업에 따른 그누보드 패스워드 문제 한방에 해결~!

불당   
   조회 17287   추천 0     비추천 0    

 
웹호스팅 또는 서버호스팅에 따라서 mysql의 버젼이 꽤 많이 차이가 나는게
4.0.x와 4.1.x 이후 버젼 사이에는 패스워드 포맷이 달라지는 중대한 변화가 있습니다.
 
그 결과 4.0.x의 패스워드는 4.1.x 이후에서는 인식될 수가 없습니다.
 
mysql에서는 편법으로 서버 옵션으로 --old_password 라는 것을 제시해서 4.1.x 이후에도
옛날의 허술한 패스워드를 쓸 수 있게 해주고 sql에서도 old_password라는게 있습니다.
 
그러나 이것은 진정한 문제의 해결이 아니고 문제를 잠시 덮어주는 역활만을 하는 것이죠.
 
 
제가 5.0.41로 버젼업을 하면서 옛날의 4.0.x의 패스워드가 먹히게 하기 위해서 ...
 
 
/lib/common.lib.php 에 다음 함수를 추가 합니다.
 
function sql_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];
}
 
 
/bbs/login_check.php의 15라인을 다음과 같이 수정 합니다.
 
if (!$mb[mb_id] || (sql_password($mb_password) != $mb[mb_password] and sql_old_password($mb_password) != $mb[mb_password]))
 
 
/bbs/register_form.php의 66라인을 다음과 같이 수정
 
    if (($member[mb_password] == sql_password($_POST[mb_password]) and $member[mb_password] == sql_old_password($_POST[mb_password])) && $_POST[mb_password])

 
그러면 새로운 사용자는 새로운 패스워드로, 옛날 사용자는 옛날 패스워드로 login check를 하게 됩니다.
- opencode.co.kr -
불당 2007-06
버젼을 다운하는 경우에는 답이 없다는거 아시죠?... ㅎㅎ
     
명예 2009-05

다 적용하고 로그인하니까

 

Fatal error: Call to undefined function sql_old_password() in C:\APM_Setup\htdocs\bbs\login_check.php on line 25

 

이란 에러가 떠요.../bbs/login_check.php의 15라인을 다음과 같이 수정 합니다. 이부분이거든요 ㅠㅠ

눈까리 2007-06
function sql_password($value)
{
    // mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
    // mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
    $row = sql_fetch(" select old_password('$value') as pass ");
    return $row[pass];
}
이렇게만 해주믄 다른곳 손대줄 필요가 없든데요 ^^; 구지 함수명을 안바꺼두 ^^
     
불당 2007-06
ㅎㅎ... 신규 패스워드랑 옛날 패스워드가 섞여 버렸어요.
그리고 옛날 패스워드를 언제까지 유지할 수도 없어서요.
그누보드 이외의 code가 같이 돌아가는 경우도 있쟎아요^^


제목Page 27/28
2007-08   8247   불당
2007-08   8363   불당
2007-08   9293   불당
2007-08   7875   불당
2007-08   7651   불당
2007-08   7438   불당
2007-07   10103   불당
2007-07   9661   불당
2007-07   11743   불당
2007-07   8510  
2007-07   16315   불당
2007-07   7259   불당
2007-07   7511   불당
2007-07   7911   불당
2007-06   9184   푸름빠덜
2007-06   17288   불당
2007-06   10499   푸름빠덜
2007-06   10624   최고관리자
2007-06   34028   불당
2007-06   9921   불당