addlashes와 mysql_real_escape_string의 차이점에 대한 좋은 설명입니다. 비록 많은 국내 PHP 코더들이 여전히 SQL 주입을 방지하기 위해 addlashes에 의존하고 있지만, 저는 여전히 모든 사람들이 중국어로 SQL 주입을 방지하기 위해 검사를 강화할 것을 권장합니다. addlashes의 문제점은 해커가 0xbf27을 사용하여 작은따옴표를 대체할 수 있는 반면, addlashes는 0xbf27을 0xbf5c27로만 변경하므로 유효한 멀티바이트 문자가 됩니다. 0xbf5c는 여전히 작은따옴표로 간주되므로 addlashes는 성공적으로 가로챌 수 없습니다.
물론 addlashes는 쓸모가 없습니다. 단일 바이트 문자열을 처리하는 데 사용됩니다. 다중 바이트 문자의 경우 mysql_real_escape_string을 사용하세요.
또한 PHP 매뉴얼의 get_magic_quotes_gpc 예는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
if (!get_magic_quotes_gpc() ) {
$lastname = addedlashes($_POST['lastname'])
} else {
$lastname = $_POST['lastname']; }