나는 데이터베이스 클래스를 만들고 있으며 SQL 주입 방지 (duh!)를 통합하는 것이 좋습니다.데이터베이스 클래스에서 SQL 주입 방지하기
class DB
{
var $db_host = 'localhost';
var $db_user = 'root';
var $db_passwd = '';
var $db_name = 'whatever';
function query($sql)
{
$this->result = mysql_query($sql, $this->link);
if(!$this->result)
{
$this->error(mysql_error());
} else {
return $this->result;
}
}
}
이보다 수업 시간에 더하지만이에 대한 그냥 자르고 해요 : 다음은 데이터베이스 쿼리를 실행하는 방법입니다. 내가 직면하고있는 문제는 단지 mysql_real_escape_string($sql, $this->link);
을 사용하면 전체 쿼리를 이스케이프하고 SQL 구문 오류가 발생한다는 것입니다. 이스케이프해야하는 변수를 어떻게 동적으로 찾을 수 있습니까? 내 기본 코드 블록에서 mysql_real_escape_string()
을 사용하지 않으려 고합니다. 차라리 함수에서 사용하고 싶습니다.
감사합니다.
나는 당신의 이전 포스트에서 이것을 말했지만 반복하도록하겠습니다. PDO를 사용하십시오. 준비된 진술과 함께 PDO를 사용한다면, 당신은 심지어 그것들을 도피하는 것에 대해 걱정할 필요조차 없습니다. – ryeguy
매개 변수화 된 quires를 사용하고, adodb 또는 pdo를 사용하십시오. – rook