Mybatis ${} 사용에 대해 질문드립니다.
- 작성자 :
- 황*용
- 작성일 :
- 2020-05-08 16:21:29
- 조회수 :
- 2,296
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
안녕하세요
Mybatis ${} 사용에 대해 질문드립니다.
프로젝트를 진행하면서 #{} 구문으로 대부분 개발을 진행 했지만
이번에 프로젝트를 진행하면서 어쩔 수 없이 ${} 구문을 사용해야되는 일이 생겼습니다.
물론 <if test=""> 구문으로 처리하면 좋지만 이 구문으로 처리하기에는 문제 있어 질문드립니다.
${} 구문 사용시 ${searchVal } 사용하는 것이 아닌
${@com.FuncHttp@CleanSqlInjection(searchVal) } 이런 방법으로 필터링 하는 함수를 호출해 리턴하는 방법으로
혹시 모를 sql injection 공격에 대해 필터 처리를 해서 사용을 해도 되나요 ?
감사합니다.
Mybatis ${} 사용에 대해 질문드립니다.
프로젝트를 진행하면서 #{} 구문으로 대부분 개발을 진행 했지만
이번에 프로젝트를 진행하면서 어쩔 수 없이 ${} 구문을 사용해야되는 일이 생겼습니다.
물론 <if test=""> 구문으로 처리하면 좋지만 이 구문으로 처리하기에는 문제 있어 질문드립니다.
${} 구문 사용시 ${searchVal } 사용하는 것이 아닌
${@com.FuncHttp@CleanSqlInjection(searchVal) } 이런 방법으로 필터링 하는 함수를 호출해 리턴하는 방법으로
혹시 모를 sql injection 공격에 대해 필터 처리를 해서 사용을 해도 되나요 ?
감사합니다.
A
안녕하세요.
표준프레임워크센터 입니다.
Mybatis ${} 사용은
SQL 인젝션에 노출될수 있어
사용을 하지 않아야 합니다.
필터링 하는 함수를 사용한다 해도
완벽한 조건으로 처리가 되지 않을수 있기 때문에
위험성은 여전히 존재 할수 있을것으로 예상됩니다.
화이트리스트 방식으로 입력값을 완전히 통제 하지 않는한
위험성의 여지는 항상 존재할수 있을듯 합니다.
다른 방식으로 구현할수 있는지도 검토하시면 좋을듯 합니다.
감사합니다.
표준프레임워크센터 입니다.
Mybatis ${} 사용은
SQL 인젝션에 노출될수 있어
사용을 하지 않아야 합니다.
필터링 하는 함수를 사용한다 해도
완벽한 조건으로 처리가 되지 않을수 있기 때문에
위험성은 여전히 존재 할수 있을것으로 예상됩니다.
화이트리스트 방식으로 입력값을 완전히 통제 하지 않는한
위험성의 여지는 항상 존재할수 있을듯 합니다.
다른 방식으로 구현할수 있는지도 검토하시면 좋을듯 합니다.
감사합니다.