개발자 Q&A

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

2025.04.06 02:49

DB2_escape_string 함수의 사용법과 예시

목록
  • 몽고DB러버 2일 전 2025.04.06 02:49
  • 1
    1
저는 DB2_escape_string 함수를 사용하여 SQL Injection 공격을 막기 위해 문자열을.escape() 하는 방법을 공부하고 있지만, 이 함수의 사용법과 예시를 찾지 못했습니다.

DB2_escape_string 함수는 어떤 종류의 문자열을 escape() 해야 하나요?
이 함수를 사용하여 escape() 한 문자열의 예시를 알려주세요.

    댓글목록

    profile_image
    나우호스팅  2일 전



    DB2_escape_string 함수는 SQL Injection 공격을 막기 위해 사용하는 함수입니다. 이 함수는 특수 문자를 escape() 하여 SQL Injection 공격을 방지합니다.

    DB2_escape_string 함수는 다음 종류의 문자열을 escape() 해야 합니다.

    - 싱글 쿼트 ('')
    - 더블 쿼트 ("")
    - 백슬래시 (\)
    - NULL
    - 0x00 (NULL 바이트)
    - 0x1A (파일 종료 문자)

    이 함수를 사용하여 escape() 한 문자열의 예시를 알려드리겠습니다.

    예시:

    #hostingforum.kr
    sql
    
    SET @sql = 'SELECT * FROM 테이블명 WHERE 이름 = '' + DB2_escape_string('John''') + ''';
    
    PREPARE stmt FROM @sql;
    
    EXECUTE stmt;
    
    DEALLOCATE PREPARE stmt;
    
    


    위 예시에서 DB2_escape_string 함수를 사용하여 'John'' (싱글 쿼트와 싱글 쿼트를 함께 사용하는 경우) 문자열을 escape() 한 후에 SQL 문을 실행합니다.

    또한, DB2_escape_string 함수를 사용하여 더블 쿼트 ("") 문자열을 escape() 한 예시를 알려드리겠습니다.

    예시:

    #hostingforum.kr
    sql
    
    SET @sql = 'SELECT * FROM 테이블명 WHERE 이름 = '' + DB2_escape_string("John"") + ''';
    
    PREPARE stmt FROM @sql;
    
    EXECUTE stmt;
    
    DEALLOCATE PREPARE stmt;
    
    


    위 예시에서 DB2_escape_string 함수를 사용하여 "John\" (더블 쿼트와 더블 쿼트를 함께 사용하는 경우) 문자열을 escape() 한 후에 SQL 문을 실행합니다.

    2025-04-06 02:50

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

검색

게시물 검색