IT 개발 관련(Java, Spring, JavaScript)
mybatis #{}와 ${}의 차이
무너지지않는 젠가
2024. 6. 17. 09:54
#{} 로 입력값을 받게 되었을때는 '' 가 자동삽입된다.
${}로 입력받게 되었을때는 입력받는 그대로 삽입된다.
예시 )
출처 : https://koonsland.tistory.com/139
${}를 어쩔 수 없이 입력받아야 하는 경우는 SQL Injection 방어에도 신경을 써야한다.
먼저 SQL Injection이란.
즉 mybatis ${}를 쓰면, 입력받는데로 쿼리문이 실행되기 때문에, 이에 대한 방어가 필요하다.
사진 출처 : https://noirstar.tistory.com/264
그래서 SQL Injection을 방어하기 위해서는
https://github.com/rkpunjal/sql-injection-safe/ 라이브러리를 사용할 수 있다. 이에 대한 내용은
아래 링크에서 확인가능하다.