• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

pathVariable관련 질문 드립니다.

23.07.02 23:49 작성 조회수 233

1

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)

네 조금은 다를수있습니다.
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)

3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
강의와는 조금 다를수있지만

/mebers/{id} 이렇게 조회를 하면 누군가도 똑같은 url을 입력하여 해당 정보를 볼수 있다고 생각하는데

이런거에 대한 위험성같은거는 따로 처리하는 방법?같은게 있는지 궁금합니다.

답변 2

·

답변을 작성해보세요.

1

maurizio님의 프로필

maurizio

질문자

2023.07.03

감사합니다 이해가 확 되었습니다!

y2gcoder님의 프로필

y2gcoder

2023.07.04

파이팅입니다!

1

y2gcoder님의 프로필

y2gcoder

2023.07.03

안녕하세요. maurizio님, 공식 서포터즈 y2gcoder입니다.

/mebers/{id} 이렇게 조회를 하면 누군가도 똑같은 url을 입력하여 해당 정보를 볼수 있다고 생각하는데

이런거에 대한 위험성같은거는 따로 처리하는 방법?같은게 있는지 궁금합니다.

=> 보안 중에서도 인증과 관련한 질문을 주셨다고 생각합니다. 예를 들어 /members/1 으로 요청을 보내면 1번 id를 가진 멤버의 개인정보를 포함한 모든 정보를 응답으로 준다고 가정했을 때, 이를 본인만 열람할 수 있게 하려면 어떻게 해야 하나와 같은 질문으로 이해했습니다.

보통 인증이 필요한 URL에 접근할 때는 현재 인증한 사람의 정보도 같이 보내게 됩니다. 대표적으로는 세션, 쿠키나 토큰 등이 있습니다. 그래서 위의 /members/1로 접근했을 때 같이 온 인증 정보에 담긴 멤버의 식별정보와 비교해서 동일한 사람인지 체크하는 로직을 둘 수 있습니다. 만약 열람하려는 정보의 주인과 같이 보낸 인증 정보의 주인이 같다면 정보를 열람할 수 있게 하고, 그렇지 않다면 요청을 거부하면 될 것 같습니다.

해당 로직을 처리해주는 곳은 인터셉터나 필터가 될 수도 있고, 비즈니스 로직 내일 수도 있습니다. 이는 요구사항에 따라 달라질 것 같습니다 :)

 

감사합니다.