3
나는 PDO::Prepare
함수가 안전 쿼리를 생성한다는 것을 읽었습니다. 이스케이프 문자가 수동으로 문자 그대로 입력 될 필요가 없다는 것을 의미합니까? 백 슬래시 문자 등.PDO : 안전 준비
나는 PDO::Prepare
함수가 안전 쿼리를 생성한다는 것을 읽었습니다. 이스케이프 문자가 수동으로 문자 그대로 입력 될 필요가 없다는 것을 의미합니까? 백 슬래시 문자 등.PDO : 안전 준비
아니요 절대적으로 그런 것은 아닙니다. 읽은 내용은 오해의 소지가 있습니다.
"준비된 문"과 "매개 변수가있는 쿼리"사이에는 차이가 있습니다. 당신은 위생 목적으로 후자를 원한다. 예를 들어
:
$pdo->prepare("SELECT * FROM t1 WHERE col1 = $USER_PROVIDED_VALUE");
가 준비되어 전혀하더라도 안전하지 않습니다. 대신, 당신은이 작업을 수행해야한다 : 쿼리가 제대로을 매개 변수화하지 않는 경우 보안의 관점에서 당신을 위해 아무것도하지 않을 준비
$stmt = $pdo->prepare("SELECT * FROM t1 WHERE col1 = ?");
$stmt->execute(array($USER_PROVIDED_VALUE));
.