
mysql_real_escape_string 함수는 MySQL 데이터베이스에 INSERT 쿼리를 실행할 때 데이터를 안전하게 escape 해주는 함수입니다. 그러나 이 함수를 사용할 때 주의할 점은 다음과 같습니다.
1. mysql_real_escape_string 함수는 MySQL 4.1.3 버전부터 지원되는 함수입니다. 그러나 MySQL 5.7 버전부터는 이 함수를 사용하는 것을 권장하지 않습니다. 대신, PDO 또는 mysqli 확장 함수를 사용하는 것을 추천합니다.
2. mysql_real_escape_string 함수를 사용할 때 주의할 점은 특수 문자를 escape 해주어야 한다는 것입니다. 이때 사용하는 문자열 함수는 다음과 같습니다.
- \ (백슬래시)
- ' (작은 따옴표)
- " (큰 따옴표)
- \n (줄바꿈)
- \r (캐리지 리턴)
- \t (탭)
- \b (백스페이스)
- \f (폼 피드)
- \0 (널 문자)
- % (퍼센트)
- _ (언더스코어)
3. mysql_real_escape_string 함수를 사용할 때 발생할 수 있는 보안 취약점은 SQL 인젝션 공격에 대한 취약점입니다. 이 취약점은 악의적인 사용자가 SQL 쿼리를 조작하여 데이터베이스를 손상시키거나 중요 정보를 탈취할 수 있는 취약점입니다.
4. PHP 7.4 버전에서 mysql_real_escape_string 함수를 사용할 때 주의할 점은 PDO 또는 mysqli 확장 함수를 사용하는 것을 추천하는 것입니다. mysql_real_escape_string 함수는 deprecated 상태이기 때문에 향후 버전에서 제거될 수 있습니다.
따라서, mysql_real_escape_string 함수를 사용할 때는 주의를 기울여야 하며, 대신 PDO 또는 mysqli 확장 함수를 사용하는 것을 추천합니다.
2025-03-22 00:07