인터넷정보

간단한 중요 DB정보 보호방법

알 수 없는 사용자 2007. 10. 10. 14:17
function get_user_info($id){
$sql = "SELECT * FROM members id=BINARY('{$id}')";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
return $row
}
처럼 SQL이 있습니다.
이렇게하면 비밀번호도 나오겠죠.
실수해서
$row = get_user_info($_GET['id'])
print_r($row);
print($row['pass']);
해버렸고, 그 사이트를 오픈했다면...
난감하죠... 난감합니다.

이런 일을 예방하기 위해서

function get_user_info($id){
$sql = "SELECT *,REPEAT('*',LENGTH(pass)) AS pass
 FROM members id=BINARY('{$id}')";
$result = mysql_query($sql);
$row = mysql_fetch_array($result,MYSQL_ASSOC);
return $row
}

라고 해줍니다.
---------=-------------------------
pass는 pass의 길이만큼 * 로 바뀝니다.
즉, 비밀번호는 출력이 안되는거죠.(출력은 되지만, fetch_array  할 때 값이 덥어씌워져 버립니다.)
-------=---------------------------
이건 MYSQL_ASSOC 이걸 꼭 써야하죠. 안 그러면 숫자로 접근할 수 있으니깐.
--------=--------------------------
그냥 간단한 중요 DB정보 보호방법이었습니다.
반응형