JPA 2

Spring에서 SQL Injection을 어떻게 방어할까?

SQL Injection우선 SQL Injection이 무엇인지 간단하게 알아보자.SQL Injection은 해석 그대로 SQL 쿼리를 삽입하는 공격 방법이다.이 공격 방법을 예로 설명하자면 로그인을 할 때 틀린 비밀번호를 이용해 인증하여 인가 권한을 받을 수 있을 것이다.4년 주기로 웹 애플리케이션 보안 취약점 Top 10을 OWASP에서 올려주는데 이전 2017년보다 2021년에 Injection 공격이 낮아지기는 하였으나 꾸준히 올라오는 위험한 취약점이다.SQL Injection 대응방안SQL Injection을 대응하는 방법에는 크게 2가지로 분류할 수 있다.첫 번째로는 Stored Procedure나 Prepared Statement를 사용하는 것이고, 두 번째로는 특정 문자를 필터링해주는 것이..

Language/Java 2024.05.23

JPA에 대해 깊이 알아보자

JPA에 대해 깊이 알아보기 위해 체크리스트 JDBC 와 Persistence Framework 의 차이점에 대해 설명할 수 있다. JDBC Template 과 MyBatis 의 차이점에 대해 설명할 수 있다. SQL Mapper 와 ORM 의 차이점에 대해 설명할 수 있다. MyBatis 가 쿼리를 생성하는 2가지 방법에 대해 설명할 수 있다. 영속성 컨텍스트와 쓰기지연의 연관성에 대해서 설명할 수 있다. 다대다 관계를 현업에서 주로 어떻게 구현하여 사용하는지 설명할 수 있다. 부모가 자식의 영속성을 완전히 관리하기 위해서 사용하는 cascade 옵션을 설명할 수 있다. 현업에서 주로 사용하는 Fetch 전략에 대해서 설명할 수 있다. QueryDSL 의 버전별 연동방법을 설명할 수 있다. QueryD..

Language/Java 2024.03.07