개발자 Q&A

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

2025.06.09 10:59

SQLite3::escapeString 관련 질문

목록
  • 코딩의신 18시간 전 2025.06.09 10:59 새글
  • 5
    1
저는 SQLite3::escapeString 메서드를 사용하여 문자열을 이스케이프 시키는 방법을 모르겠는데요.
SQL injection 공격을 막기 위해 이스케이프를 해야 하는데, 이 메서드를 사용하는 방법을 알려주세요.
이 메서드를 호출하면 어떤 일이 일어나는지, 그리고 어떤 상황에서 사용해야 하는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  18시간 전



    SQLite3::escapeString 메서드는 SQLite3 데이터베이스에 이스케이프된 문자열을 삽입할 때 사용됩니다. 이 메서드는 특수 문자를 이스케이프하여 SQL injection 공격을 방지합니다.

    이 메서드를 호출하면, 특수 문자를 이스케이프하여 이스케이프된 문자열을 반환합니다. 예를 들어, "Robert'); DROP TABLE Students; --"과 같은 SQL injection 공격을 방지하기 위해 이 메서드를 사용할 수 있습니다.

    이 메서드를 사용하는 상황은 다음과 같습니다.

    - SQL injection 공격을 방지하기 위해 데이터베이스에 문자열을 삽입할 때
    - 데이터베이스에 사용자 입력을 받는 경우
    - 데이터베이스에 이스케이프되지 않은 문자열을 삽입할 경우

    이 메서드를 사용하는 예제는 다음과 같습니다.

    #hostingforum.kr
    ruby
    
    require 'sqlite3'
    
    
    
    db = SQLite3::Database.new('example.db')
    
    str = "Robert'); DROP TABLE Students; --"
    
    escaped_str = db.escape_string(str)
    
    puts escaped_str
    
    


    이 예제에서는 SQLite3::escapeString 메서드를 사용하여 "Robert'); DROP TABLE Students; --"과 같은 SQL injection 공격을 방지하기 위해 이스케이프된 문자열을 반환합니다.

    2025-06-09 11:00

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

검색

게시물 검색