2010-12-10 5 views
0

선택한 언어/데이터베이스에 사용자 입력을 이스케이프하는 내장 함수 (예 : mysql_real_escape_string)가 있으면 SQL 매개 변수화에 대한 인수는 무엇입니까? 어떤 시점에서 mysql_real_escape_string이 애플리케이션을 취약하게 만들 수 있습니까?SQL 매개 변수화 대 이스케이프

필자는 매개 변수화를 사용했기 때문에 그것을 사용하는 것이 더 좋은 방법이라고 읽었으므로 나는 맹목적으로 따르고 싶지는 않습니다. 어떤 통찰력? 감사!

답변

1

매개 변수화를위한 인수는 성능입니다. 당신이 다음 문장을 여러 번 실행하려는 경우

:

insert into table (col1, col2) values (?, ?); 

그것은 쿼리가 평가 될 것입니다 때문에 매개 변수를 사용하는 것이 좋습니다를 한 번 (계획 분석 및 계산, 구문 분석), 그리고 것 여러 번 실행.

+0

보안 측면에서 보았을 때 매개 변수화 기능은 내장 된 이스케이프 기능보다 이점이 있습니까? – Joseph

+0

매번 값을 완벽하게 이스케이프 처리한다는 것을 100 % 확신하는 경우 매개 변수를 사용할 때와 동일해야합니다. –

관련 문제