회원 비밀번호 암호화
본문
현재 AMINA+1.7.27+-+G5.2.9.8.4+-+YC5.2.9.8.4
를 사용하고 있습니다
얼마전 전에 가지고 있는 회원DB를 옴겼습니다. 그런데 기존 회원DB에는
비밀번호가 전혀 암호화 되어 있지 않네요 예) 1111
그런데 위 사용하는 버전은 암호화 되어서 들어가잖아요
혹시 암호화 되어 있지 않은 (예:1111) 비밀번호를 해당 버전에 맞게 일괄로 변경(암호화) 처리 할 수는 없는건가요?
기존 회원 (암호화 되지 않은 비밀번호)는 로그인이 되질 않습니다.
답변 4
우선 암호화 되지 않는 비밀번호만 있다고 가정을 하겠습니다.
www/test.php 파일을 생성합니다.
<?php
include_once('./common.php');
$sql = " select * from g5_member ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$password = get_encrypt_string($row['mb_password']); // 암호화
$sql = " update g5_member set mb_password = '{$password}' where mb_id = '{$row['mb_id']}' ";;
sql_query($sql);
}
?>
아래와 같이 하면됩니다.
혹시 모르니 g5_member 테이블을 백업한 후에 작업하세요.
$que = "select * from g5_member where LENGTH(mb_password)<30 order by mb_id"
$result = sql_query($que);
while($row = sql_fetch_array($result)) {
$que1 = "update g5_member set mb_password=password('".$row['mb_password']."') where mb_id='{$row['mb_id']}'";
sql_query($que1);
}
아래처럼 한줄 넣어서 tmp.php 화일을 만들고 extend폴더에 넣은 후
사이트 접속을 한번한 후 tmp.php를 삭제해버리세요
<?
sql_query("update $g5[member_table] set mb_password = password(mb_password) where LENGTH(mb_password) < 41 ");
?>
답변 너무 감사드립니다. 한번 해보고 문의사항 있으면 문의 드릴께요.. 감사합니다.
답변을 작성하시기 전에 로그인 해주세요.