데이터베이스 연결 없이 MySQL 쿼리에 대해 문자열을 이스케이프하는 방법
특정 시나리오에서는 건식 테스트를 위해 mysql_real_escape_string의 동작을 모방하는 함수가 필요할 수 있습니다. 실제로 데이터베이스에 연결하지 않고 목적을 달성합니다. 이 문서에서는 이 접근 방식의 타당성과 제한 사항을 살펴봅니다.
데이터베이스 연결 없이 문자열을 이스케이프할 수 있습니까?
안타깝게도 데이터베이스 연결 없이 문자열을 안전하게 이스케이프하는 것은 불가능합니다. . mysql_real_escape_string() 및 준비된 명령문 모두 현재 문자 세트를 기반으로 문자열을 적절하게 이스케이프하기 위해 데이터베이스에 대한 연결에 의존합니다. 이러한 맥락이 없으면 SQL 주입 공격은 여전히 위협으로 남아 있습니다.
테스트 목적의 대안
목적이 오로지 테스트라면, 지원 중단에도 불구하고 mysql_escape_string() 사용을 고려할 수 있습니다. . SQL 주입 공격에 대한 완전한 보호를 제공하지는 않지만 데이터베이스에 연결할 수 없는 경우 테스트 목적으로는 충분합니다.
위 내용은 데이터베이스 연결 없이 MySQL 쿼리의 문자열을 이스케이프할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!