addslashes()를 통한 SQL 주입 이해
addslashes()는 SQL 주입을 방지하기 위해 문자열의 특수 문자를 이스케이프하는 데 일반적으로 사용되는 PHP 함수입니다. 공격. 그러나 의도에도 불구하고 실제로는 드문 경우에 이러한 공격을 용이하게 할 수 있습니다.
예를 살펴보겠습니다.
시나리오: 사용자가 "' OR 1=1 -- - 입력을 제출합니다. "를 텍스트 필드로 변환합니다.
addslashes()는 입력을 "' OR 1=1 -- -"로 변환하지만 데이터베이스 인코딩이 발생하는 경우 Shift-JIS와 같은 멀티바이트 문자를 지원하기 위해 아포스트로피는 멀티바이트 문자의 일부로 해석되어 의도된 이스케이프를 효과적으로 약화시킵니다.
결과적으로 수정된 SQL 쿼리는 다음과 같습니다. "'% OR 1=1 -- -"
이 변경된 쿼리는 아포스트로피가 더 이상 이스케이프 시퀀스로 처리되지 않고 오히려 멀티바이트 문자입니다.
위 내용은 addlashes()가 실제로 SQL 주입 공격을 예방할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!