개발자
궁금한게 있습니다. 클라 에서 사용자가 입력한 데이터를 서버에 보낼 때, 보통 데이터 유효성 검사를 하게 되는데, 유효성 검사를 수행하고 나서, 서버에 보낸 json 을 서버에서도 먼저 json 유효성 검사를 수행하고 나서, 그 이후에 코드를 실행하는게 필수적인가요? 저의 생각인데, 아무리 클라에서 데이터에 대한 유효성 검사를 하고, 데이터를 보낸다고 해도, 테스트 코드를 정말 잘 작성한다고 해도, 실수할 수 도 있다고 생각되고 유효하지 않은 데이터를 서버에서 validation check 를 하지 않았을때 초래하는 문제가 많을 거 같아서, 필수 라고 생각되는데, 현업 개발자 분들의 의견이 궁금합니다~
답변 1
안녕하세요 두 곳 모두 validation을 해주는 것이 좋습니다. 아래와 같은 경우가 있을 것 같고 데이터를 처리하는 곳이 서버이기 때문에 안정성을 위해서도 좋다고 생각합니다. 1. 질문에 적어주신 것처럼 클라이언트에서 잘못된 데이터를 전송하는 경우 2. 클라이언트를 추가하는 경우 3. 사용자가 데이터를 조작해서 전송하는 경우
Code King Academy
작성자
Code Lika a KING / QUEEN • 2023년 10월 06일
답변 감사합니다! 도움이 되었습니다!!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2023년 10월 05일
네, 보통 유효성 검사는 클라이언트 측과 서버 측 모두에서 이루어집니다. 클라이언트 측에서 유효성 검사를 하는 주된 목적은 사용자 경험을 향상시키기 위함입니다. 오류 메시지를 신속하게 표시하여 사용자가 무엇이 잘못되었는지 바로 알 수 있도록 합니다. 그러나 클라이언트 측 유효성 검사만으로는 충분하지 않습니다. 악의적인 사용자가 직접 HTTP 요청을 조작하거나, 버그 때문에 예상하지 못한 데이터가 전송될 수 있기 때문입니다. 따라서 서버측에서도 데이터의 유효성을 다시 한번 검증하는 것이 중요합니다. JSON Schema Validation은 디벨로퍼가 일관성 있는 데이터 구조를 강제할 수 있도록 도와줍니다. AJV같은 라이브러리를 이용해 JSON 데이터에 대한 유효성검사를 할 수 있습니다. 더 나아가, 이런 validation 작업은 코드의 안전성뿐 아니라 관리와 유지보수 면에서도 중요합니다. 올바르지 않은 데이터로 인해 발생할 수 있는 문제를 사전에 차단함으로써, 시스템 내에서의 버그를 줄이고 코드의 안정성을 높일 수 있습니다. 따라서 유효성 검사는 필수적인 작업이라고 볼 수 있습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!