Backend 에서 사용자의 입력값 사용 vs DB 조회 사용
글쓴이: thenewseason / 작성시간: 목, 2020/07/09 - 11:21오전
안녕하세요.
Backend API 로직 구현 중 궁금한 점이 있어서 글을 올립니다.
backend 에서 frontend 에 내려줬던 데이터를 다시 받은 경우
이를 사용해도 되는가 입니다.
예를 들어 아래와 같은 상황입니다.
1. 앱에서 사용자 데이터를 요청하여
backend는 사용자 정보와 사용자의 회사ID 를 내려 줌
2. 앱에서 사용자의 회사정보 업데이트를 요청하면서
parameter 로 사용자 ID 와 회사 ID 를 전달함
-> 이 때 회사정보를 업데이트 하는 방법이 두가지 일거 같은데요,
a) 사용자 ID 로 DB 조회하여 회사ID 를 찾아서 회사 정보를 업데이트
b) 앱에서 받은 회사ID 를 사용하여 회사 정보를 업데이트
b)의 경우, 회사ID를 변조할 경우 사용자와 상관없는 회사 정보가 업뎃될 수 있을거 같고..
a)는 결국 사용자ID 도 사용할건데 회사ID 를 굳이 DB 에서 찾을 필요가 있나 하는 생각입니다.
구글링을 좀 해봤는데, 이런 주제에 대한 얘기는 없더라고요..
너무 당연한건가 하기도 하지만 다른 분들의 의견이 궁금합니다!
Forums:
내용이 중복됬네요
내용이 중복됬네요
말씀하신대로 두가지 방식다 기본적으로 정보 변조에 대해서는 취약합니다.
가능하다면 A 방식으로 하되 사용자가 로그인할때 세션을 만들고 그 세션의 사용자 ID 와 동일한 ID 인지를 체크 하는 로직을 추가하는게 바람직 하겠네요
세션을 통해 검증만 한다면 따로 불필요한 파라미터도 필요 없어지겠지요
------------------------------------------------------------
ProgrammingHolic
답글 감사합니다.
의견주신거를 생각해보니
사용자가 본인 것만 수정한다던가 하는 요구사항에 따라 처리가 달라져야겠네요.
감사합니다~!
댓글 달기