PHP
sql injection 정리
yeon.Biju
2017. 3. 21. 11:26
sql injection 정리
1. form이나 변수로 넘어오는 값을 디비에 날리고자 할경우 변수를 bind 처리한다.
2. 아래 sql_filter 함수를 사용한다.
3. 값을 불러올 때는 sql_filter 의 영향으로 stripslashes를 써줘야 한다.
function sql_filter($str) {
if (!get_magic_quotes_gpc()) $str = addslashes($str);
$search = array("--","#",";");
$replace = array("\--","\#","\;");
$str = str_replace($search, $replace, $str);
return $str;
}
그리고 쿼리 상에서는 가급적 bind 처리한다.
아이디/비밀번호 같은 경우 값을 비교할 경우에는 디비에서 값을 가져와서 넘어온 경우와 비교한다.
이것만 하면 sql injection 처리는 할 필요 없을 것 같은데..
그리고 데이터를 불러올 경우에는
stripslashes ($str) 형태가 되어야 한다.