제로보드 패스워드(비밀번호) 16bite 버전에서 41bite 버전으로 옮겨야할 경우
페이지 정보
본문
패스워드(비밀번호) 16bite 버전에서 41bite 버전으로 옮겨야할 경우
기존홈피가 16bite 암호방식을 하는 DB를 사이트 이전의 이유로 41bite 버전으로 옮겨야할 경우
이럴때는 mysql_query("set old_passwords=OFF"); 을 적절하게 사용하여 설정을 변경해야 합니다.
로그인 성공시 비밀번호가 16바이트이면 41바이트로 변경됩니다.
1. 디비에서 zetyx_member_table 테이블의 password 필드의 길이를 varchar(20) 을 varchar(50) 으로 변경
2. 제로보드4 / login_check.php 20~22줄
// 회원 로그인 체크
$result = mysql_query("select * from $member_table where user_id='$user_id' and password=password('$password')") or error(mysql_error());
$member_data = mysql_fetch_array($result);
를 아래와 같이 변경
// 회원 로그인 체크
function sql_old_password($value) {
mysql_query("set old_passwords=ON");
$result = mysql_query(" select password('$value') as pass ");
$row = mysql_fetch_array($result);
return $row["pass"];
}
function sql_password($value) {
mysql_query("set old_passwords=OFF");
$result = mysql_query(" select password('$value') as pass ");
$row = mysql_fetch_array($result);
return $row["pass"];
}
$result = mysql_query("select password from $member_table where user_id='$user_id'") or error(mysql_error());
$mb = mysql_fetch_array($result);
if (sql_old_password($password) == $mb["password"]) { // 옛날 패스워드를 새로운 패스워드로 바꿉니다.
$sql = " update $member_table set password='" . sql_password($password) . "' where user_id='$user_id' ";
$result=mysql_query($sql);
}
//echo "sql_old_password = ". sql_old_password($password) ."<br>";
//echo "sql_password = ". sql_password($password) ."<br>";
//echo "mb = ". $mb["password"] ."<br>";
//echo "sql = ". $sql ."<br>";
$result = mysql_query("select * from ".$member_table." where user_id='".$user_id."' and password='".sql_password($password)."'") or error(mysql_error());
//exit;
$member_data = mysql_fetch_array($result);
기존홈피가 16bite 암호방식을 하는 DB를 사이트 이전의 이유로 41bite 버전으로 옮겨야할 경우
이럴때는 mysql_query("set old_passwords=OFF"); 을 적절하게 사용하여 설정을 변경해야 합니다.
로그인 성공시 비밀번호가 16바이트이면 41바이트로 변경됩니다.
1. 디비에서 zetyx_member_table 테이블의 password 필드의 길이를 varchar(20) 을 varchar(50) 으로 변경
2. 제로보드4 / login_check.php 20~22줄
// 회원 로그인 체크
$result = mysql_query("select * from $member_table where user_id='$user_id' and password=password('$password')") or error(mysql_error());
$member_data = mysql_fetch_array($result);
를 아래와 같이 변경
// 회원 로그인 체크
function sql_old_password($value) {
mysql_query("set old_passwords=ON");
$result = mysql_query(" select password('$value') as pass ");
$row = mysql_fetch_array($result);
return $row["pass"];
}
function sql_password($value) {
mysql_query("set old_passwords=OFF");
$result = mysql_query(" select password('$value') as pass ");
$row = mysql_fetch_array($result);
return $row["pass"];
}
$result = mysql_query("select password from $member_table where user_id='$user_id'") or error(mysql_error());
$mb = mysql_fetch_array($result);
if (sql_old_password($password) == $mb["password"]) { // 옛날 패스워드를 새로운 패스워드로 바꿉니다.
$sql = " update $member_table set password='" . sql_password($password) . "' where user_id='$user_id' ";
$result=mysql_query($sql);
}
//echo "sql_old_password = ". sql_old_password($password) ."<br>";
//echo "sql_password = ". sql_password($password) ."<br>";
//echo "mb = ". $mb["password"] ."<br>";
//echo "sql = ". $sql ."<br>";
$result = mysql_query("select * from ".$member_table." where user_id='".$user_id."' and password='".sql_password($password)."'") or error(mysql_error());
//exit;
$member_data = mysql_fetch_array($result);
댓글목록
등록된 댓글이 없습니다.