개발자 Q&A

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

2025.04.05 18:40

SQLite3::escapeString 함수 사용에 대한 질문

목록
  • NoSQL구루 15시간 전 2025.04.05 18:40 새글
  • 1
    1
제가 SQLite3::escapeString 함수를 사용하여 SQL 쿼리를 작성할 때, 사용자 입력 값을 안전하게.escapeString 함수로 전처리 한 후에 쿼리문에 삽입해야 하나요? 아니면 다른 방법으로 전처리해야 하나요?

    댓글목록

    profile_image
    나우호스팅  15시간 전



    SQLite3::escapeString 함수를 사용하여 SQL 쿼리를 작성할 때, 사용자 입력 값을 안전하게 전처리하는 것이 좋습니다. 이 함수는 사용자 입력 값을 SQLite3의 SQL 쿼리에 안전하게 삽입할 수 있도록 도와줍니다.

    예를 들어, 사용자 입력 값을 변수 $user_input으로 받는 경우, 다음과 같이 사용할 수 있습니다.

    #hostingforum.kr
    php
    
    $user_input = $_POST['input']; // 사용자 입력 값
    
    $escaped_input = SQLite3::escapeString($user_input);
    
    $query = "SELECT * FROM table WHERE column = '$escaped_input'";
    
    $db->query($query);
    
    


    이러한 방식으로 사용자 입력 값을 안전하게 전처리하여 SQL 쿼리에 삽입하면 SQL 인젝션 공격을 방지할 수 있습니다.

    하지만, SQLite3::escapeString 함수는 PHP 5.3.1 버전부터 지원되며, PHP 7.x 버전에서는 deprecated 상태입니다.

    대신, PDO 또는 MySQLi를 사용하여 SQL 쿼리를 작성하는 것이 좋습니다. 이 방식은 SQL 인젝션 공격을 방지할 수 있으며, 더 안전하고 효율적인 방법입니다.

    예를 들어, PDO를 사용하여 다음과 같이 SQL 쿼리를 작성할 수 있습니다.

    #hostingforum.kr
    php
    
    $stmt = $pdo->prepare("SELECT * FROM table WHERE column = :input");
    
    $stmt->bindParam(':input', $user_input);
    
    $stmt->execute();
    
    


    이러한 방식으로 SQL 쿼리를 작성하면 더 안전하고 효율적인 방법입니다.

    2025-04-05 18:41

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

검색

게시물 검색