본문 바로가기
Framework & Library/Spring Boot

[Spring Boot] : BasicErrorController가 model에 담는 정보

by 오주현 2022. 3. 1.
반응형

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편 - 백엔드 웹 개발 활용 기술을 참고하여 공부하였습니다.

반응형

댓글