반응형
BasicErrorController는 여러 정보를 model에 담아 뷰에 전달하는데 뷰 템플릿에서 출력해서 확인해 볼 수 있다.
<li th:text="|timestamp: ${timestamp}|"></li>
<li th:text="|path: ${path}|"></li>
<li th:text="|status: ${status}|"></li>
<li th:text="|message: ${message}|"></li>
<li th:text="|error: ${error}|"></li>
<li th:text="|exception: ${exception}|"></li>
<li th:text="|errors: ${errors}|"></li>
<li th:text="|trace: ${trace}|"></li>
이런 정보는 고객에게 굳이 보여 줄 필요도 없고 해커가 이런 라이브러리를 사용하구나? 이런 라이브러리의 취약점은 이거지! 하고 공격 할 수도 있어서 더욱 보여 줄 필요가 없다.
server.error.include-exception=true
server.error.include-message=on_param
server.error.include-stacktrace=on_param
server.error.include-binding-errors=on_param
application.properties에서 이런 설정을 통해 보이고, 안 보이고, 조건에 따라 보이고 등을 설정할 수 있다.
never은 사용하지 않음, always는 항상 사용, on_param은 파라미터가 있을 때 사용으로 설정할 수 있다. 하지만 실무에서 이런 것들을 노출 시키면 안 되고 이쁜 오류 화면과 고객이 이해할 수 있는 간단한 오류 메시지를 보여주고 오류는 서버에 로그로 남겨서 확인할 수 있어야 한다.
스프링 MVC 2편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.
반응형
'Framework & Library > Spring Boot' 카테고리의 다른 글
[Spring Boot] : API 예외 처리 스프링 부트 기본 오류 처리 (0) | 2022.03.03 |
---|---|
[Spring Boot] : API 예외 처리 기본 체크하기 (0) | 2022.03.02 |
[Spring Boot] : BasicErrorController 오류 페이지 (0) | 2022.02.28 |
[Spring Boot] : 인터셉터 예외 처리 (0) | 2022.02.25 |
[Spring Boot] : 서블릿 예외 처리 필터 (0) | 2022.02.25 |
댓글