동적 테이블 이름을 사용한 SQL 주입 방지
SQL 주입 방지에 대한 논의에 대한 응답으로 PDO 또는 mysql_real_escape_string을 사용하는 것이 제안되었습니다. 동적 테이블 이름을 보호하는 데는 효과적이지 않습니다. 그러나 추가 분석을 통해 특정 상황에서 이러한 제안의 유효성이 밝혀졌습니다.
mysql_real_escape_string 제한
mysql_real_escape_string은 따옴표로 문자열 데이터를 효과적으로 이스케이프하지만 동적 처리에서는 부족합니다. 테이블 이름. 이스케이프 함수는 따옴표 안의 문자만 대상으로 하며 백틱 문자는 변경되지 않습니다. 이러한 감독은 닫는 백틱을 입력에 통합하여 공격자가 SQL 주입을 실행할 수 있는 허점을 만듭니다.
PDO 제한
mysql_real_escape_string과 마찬가지로 PDO는 직접적인 보호를 제공하지 않습니다. 동적 테이블과 관련된 SQL 주입 방지 names.
권장 접근 방식
동적 테이블 이름을 사용할 때 SQL 삽입 위험을 완화하려면 대체 전략을 채택하는 것이 좋습니다.
위 내용은 삽입을 방지하기 위해 SQL에서 동적 테이블 이름을 안전하게 사용하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!