개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.22 00:06

mysql_real_escape_string 함수 사용 시 주의점이 궁금합니다.

목록
  • Haskell연구가 6시간 전 2025.03.22 00:06 새글
  • 2
    1
저는 mysql_real_escape_string 함수를 사용하여 MySQL 데이터베이스에 INSERT 쿼리를 실행할 때, 데이터를 안전하게.escape 해주어야 한다는 것을 알았습니다. 그런데, 이 함수를 사용할 때 주의할 점이 있는 것 같아 질문드립니다.

mysql_real_escape_string 함수는 MySQL 4.1.3 버전부터 지원되는 함수입니다. 하지만, MySQL 5.7 버전부터는 이 함수를 사용하는 것을 권장하지 않습니다. 대신, PDO 또는 mysqli 확장 함수를 사용하는 것을 추천합니다.

그렇다면, mysql_real_escape_string 함수를 사용할 때 주의할 점은 무엇입니까?

예를 들어, mysql_real_escape_string 함수를 사용하여 INSERT 쿼리를 실행할 때, 특수 문자를 escape 해주어야 하는데, 이때 사용하는 문자열 함수가 어떤 것인지 알려주시겠습니까?

또한, mysql_real_escape_string 함수를 사용할 때 발생할 수 있는 보안 취약점이 있는지 알려주시겠습니까?

제가 사용하는 PHP 버전은 PHP 7.4입니다. 이 버전에서 mysql_real_escape_string 함수를 사용할 때 주의할 점은 무엇인지 알려주시겠습니까?

    댓글목록

    profile_image
    나우호스팅  6시간 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 5,340건 / 2 페이지

검색

게시물 검색