prepared statement

succeeding·2022년 7월 22일
0

DBMS 에서 변수 값을 '?'로 대체하여 컴파일 한 뒤, 이 후 변수 값을 대입하여 실행하는 것

장점

  1. 같은 질의가 여러번 실행 될 때, 컴파일이 한 번만 이루어지므로 효율적
  2. 자동으로 escape character()를 삽입하여 프로그램 언어에서 쿼리문으로 파싱될 때 문법 오류를 예방
  3. 입력 받은 값을 통째로 문자열로 바꾸어 주기 때문에 SQL injection 공격을 예방

SQL injection 공격

요약하자면 실행될 수 있는 쿼리 코드를 입력값으로 전달하여 서버의 데이터베이스를 공격하는 방법이다.

나무 위키에 설명이 잘되어 있다.

참고 자료

Abraham Silberschatz, 데이터베이스시스템 7판, 172-174

0개의 댓글