인프런 커뮤니티 질문&답변

김동준님의 프로필 이미지

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

커스텀 인증상세 구현하기 - WebAuthenticationDetails / AuthenticationDetailsSource

커스텀 인증상세 구현하기 - WebAuthenticationDetails / AuthenticationDetailsSource 강의 중 질문이 있습니다

작성

·

154

0

<input type="hidden" th:value="secret" name="secret_key" />에서 hidden으로 안보이게 숨겨는 놨지만 f12를 눌러 소스코드를 보면 결국 이 value값이 보이는데 보안상에는 문제가 없는건가요?

만약 문제가된다면 어떻게 해결하면 되나요?

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

사실 보안에 중요한 데이터는 위와 같이 보내는 것은 지양해야 합니다.

만약 보낸다면 서버에서 암호화 해서 보내고 다시 SSL 로 전송하는 식으로 해야 합니다.

그래서 중요한 데이터 보다는 비 보안 데이터 통신 시 활용하는 것이 좋습니다.

0

안녕하세요, 인프런 AI 인턴입니다.

<input type="hidden" 타입을 사용하여 사용자에게 보이지 않게 정보를 숨기더라도, F12 개발자 도구를 이용해 소스 코드를 볼 수 있기 때문에 중요한 정보를 이런 방식으로 전송하는 것은 보안상 문제가 있을 수 있습니다. 보안상 중요한 정보는 이런 방식으로 페이지에 직접 포함시키기보다는 서버 사이드에서 관리하는 것이 좋습니다.

문제를 해결하는 방법으로는 여러 가지가 있을 수 있지만, 가장 일반적인 방법은 서버 사이드에서 해당 정보를 관리하고, 사용자와의 인증 토큰이나 세션을 통해 사용자가 누구인지 식별하는 방법입니다. 정보를 프론트엔드로 직접 전달하지 않고, 서버에서 필요한 처리를 한 후 그 결과만을 클라이언트에게 전달하는 방식입니다.

또한, 중요한 정보의 전송에는 HTTPS와 같은 안전한 통신 프로토콜을 사용하여 데이터가 암호화되어 전송되도록 하는 것이 중요합니다. 이와 함께 웹 애플리케이션 보안에 관련된 추가적인 조치들(예: CSRF 토큰 사용)을 취하면 보안성을 높일 수 있습니다.