mysql_real_escape_string() 및 mysql_escape_string()이 애플리케이션 보안에 충분합니까?
이러한 기능은 데이터 보호를 강화할 수 있지만 보안을 강화하는 데는 충분하지 않습니다. 모든 보안으로부터 웹 애플리케이션을 완벽하게 보호
SQL 주입
LIKE SQL 공격
문자 집합 악용
LIMIT Exploits
선제적 방어: 준비된 명령문
코드 예
다음은 mysql_escape_string()과 PHP의 준비된 문을 비교한 것입니다.
// Escaping Method $sql = sprintf("SELECT url FROM GrabbedURLs WHERE %s LIKE '%s%%' LIMIT %s", mysql_real_escape_string($argv[1]), mysql_real_escape_string($argv[2]), mysql_real_escape_string($argv[3])); // Prepared Statement $statement = $pdo->prepare('SELECT url FROM GrabbedURLs ' . 'WHERE ' . $column . '=? ' . 'LIMIT ' . intval($limit)); $statement->execute(array($value));
준비된 문, 구현하는 데 시간이 약간 더 걸리지만 악의적인 SQL 쿼리에 대한 탁월한 보호 기능을 제공하고 코드 복잡성을 줄입니다.
위 내용은 `mysql_real_escape_string()` 및 `mysql_escape_string()`은 SQL 주입으로부터 웹 애플리케이션을 보호하기에 충분합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!