
mysql_real_escape_string 함수는 MySQL 데이터베이스에서 사용되는 문자열을 안전하게 처리하기 위해 사용되는 함수입니다. 이 함수는 SQL 인젝션 공격을 방지하기 위해 특수 문자를 처리하는 역할을 합니다.
특수 문자는 다음과 같습니다.
- \ (백슬래시)
- ' (작은 따옴표)
- " (큰 따옴표)
- \n (라인 피드)
- \r (캐리지 리턴)
- \t (탭)
- \b (백스페이스)
- \0 (널 문자)
- % (퍼센트)
- _ (언더스코어)
- ' (작은 따옴표)
- " (큰 따옴표)
이러한 특수 문자를 처리하기 위해 mysql_real_escape_string 함수를 사용하면, 데이터베이스에 입력된 값을 안전하게 처리할 수 있습니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$mysqli = new mysqli("localhost", "username", "password", "database");
$unsafe_value = "John's 'quote";
$safe_value = mysql_real_escape_string($unsafe_value);
$mysqli->query("INSERT INTO users (name) VALUES ('$safe_value')");
위의 예제에서, mysql_real_escape_string 함수를 사용하여 $unsafe_value 변수의 값을 처리한 후, 데이터베이스에 INSERT 문을 실행합니다. 이로써, SQL 인젝션 공격을 방지할 수 있습니다.
2025-07-21 11:46