csrf3 TIL230725_2 Template Engine을 사용할 때, 발생하는 CSRF Error가 무엇이고 어떻게 해결합니까? CSRF(Cross Site Request Forgery)는 웹 사이트의 보안을 위협하는 공격 방법 중 하나로, 사용자가 자신의 의지와는 무관하게 공격자가 의도한 행동을 해서 서버에 보내게 되는 공격입니다. Django는 이런 CSRF 공격을 방어하기 위한 보안 기능을 제공합니다. 이를 위해 Django는 POST 요청을 처리할 때 CSRF 토큰이 요청에 포함되어 있는지 확인합니다. 만약 CSRF 토큰이 없거나 유효하지 않다면, Django는 CSRF 에러를 발생시킵니다. 따라서 Django에서 CSRF 에러가 발생했다면, 요청에 CSRF 토큰이 적절하게 포함되어 있지 않았을 가능성이 높습니다. 이 문제를 해결하기 위해서는 Django의 템플릿에 {% csrf_token %} 태그를 추가하여 폼 데이터와.. CS 면접 준비 2023. 7. 26. CSRF(Cross-Site Request Forgery) CSRF란 Cross-Site Request Forgery의 약자로, 인터넷 사용자가 자신의 의지와는 무관하게 공격자가 의도한 요청을 보내도록 유도하는 공격 기법입니다. 유명 경매 사이트인 옥션에서 발생한 개인정보 유출 사건에서 사용된 공격 방식 중 하나입니다. 사이트 간 스크립팅(XSS)을 이용한 공격이 사용자가 특정 웹사이트를 신용하는 점을 노린 것이라면, 사이트간 요청 위조(CSRF)는 특정 웹사이트가 사용자의 웹 브라우저를 신용하는 상태를 노린 것입니다. 일단 사용자가 웹사이트에 로그인한 상태에서 사이트간 요청 위조 공격 코드가 삽입된 페이지를 열면, 공격 대상이 되는 웹사이트는 위조된 공격 명령이 믿을 수 있는 사용자로부터 발송된 것으로 판단하게 되어 공격에 노출됩니다. 공격자는 사용자가 자주 .. 웹 2023. 4. 26. TIL230404 {% csrf_token %} {% csrf_token %} Django 웹 프레임워크에서 사용되는 기능 중 하나로 Cross Site Request Forgery (CSRF) 공격을 방지하기 위해 사용된다. 일반적으로 POST 방식으로 데이터를 서버로 보낼 때 사용된다. 이는 GET 방식으로 데이터를 보낼 때는 데이터가 URL에 노출되므로 보안에 취약하기 때문이다. 이에 추천되지 않으며, 가능한 POST 방식을 사용하여야 한다. CSRF 공격은 사용자가 의도하지 않은 요청을 서버에 보내는 것으로, 이를 방지하기 위해서는 서버에서 사용자의 요청이 유효한지 검증하는 과정이 필요하다. 이때 {% csrf_token %}은 서버에서 랜덤하게 생성된 토큰을 포함하여 사용자의 요청이 유효한지 검증하는 과정을 수행한다. {% csrf_token.. django 2023. 4. 4. 이전 1 다음