작성
·
17
·
수정됨
0
검색을 해보니 강의 내용 중 나오는
sql인젝션
xss, HttpOnly
csrf, SameSite
https
이 부분들은 보통 기본적으로 많이 선택해서 꼭 알아야 하고 연습해야 하는 것으로 생각됩니다
그 외에도 알려주신 것들에 대해 자세히 알아야 할까요? 아니면 이런 방법들이 있구나 하고 굳이 직접 사용해볼 필요는 없는 걸까요
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. 김상형님.
백엔드 개발을 시작하시면서 보안에 대한 기본적인 주제를 이해하고 연습하려고 하시는 점, 아주 훌륭한 접근입니다. 보안은 백엔드 개발에서 매우 중요한 요소이기 때문에 기본적인 지식과 실습은 필수적입니다.
김상형님이 언급하신 주제들은 백엔드 개발에서 자주 언급되는 보안 이슈들입니다:
SQL 인젝션: 데이터베이스 쿼리에 악의적으로 코드를 주입하는 공격으로, 이를 방지하기 위해서는 ORM을 사용하거나, 준비된 문장을 사용하는 등의 방법이 필요합니다.
XSS (Cross-Site Scripting): 자바스크립트 코드를 악의적으로 삽입하는 공격으로, HttpOnly 쿠키 설정이나 입력 값 검증, HTML 엔티티 이스케이핑 등을 통해 방어할 수 있습니다.
CSRF (Cross-Site Request Forgery): 사용자가 인지하지 못한 사이에 수행된 요청을 만드는 공격으로, SameSite 쿠키 설정 등을 통해 방지할 수 있습니다.
HTTPS: 데이터 전송을 암호화하여 중간에서의 데이터 탈취를 방지합니다.
이외에도 보안의 기본 원리인 ‘최소 권한 원칙’을 준수하거나, ‘입력 검증’을 철저히 하는 것 등은 백엔드 개발자라면 반드시 이해하고 있어야 합니다.
백엔드 보안을 잘 이해하려면 단순히 개념만 아는 것보다 직접 간단한 프로젝트를 통해 연습해 보는 것이 매우 유익합니다. 예를 들어, SQL 인젝션을 방지하는 코드를 작성해 본다거나, 쿠키 설정을 통해 CSRF를 방지하는 등 직접 구현해 보는 것이 큰 도움이 됩니다.
더 많은 정보와 구체적인 실습은 강의를 통한 보안 이해에서 자세히 알아보실 수 있습니다. 보안은 꾸준히 학습하고 주의해야 할 부분이니, 관심을 가지고 지속적으로 학습하시길 추천드립니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.