You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
키워드 과제3
Access-Control-Allow-Origin: * 의미와 설정 시 발생할 수 있는 일
의미: Access-Control-Allow-Origin: *는 모든 도메인에서 이 리소스에 접근할 수 있음을 의미한다. 즉, 이 설정은 Cross-Origin Resource Sharing (CORS)를 통해 모든 도메인의 요청을 허용하는 것이다.
발생할 수 있는 일:
보안 위험: 모든 도메인에서 접근할 수 있게 되므로, 악의적인 사이트에서도 이 리소스를 자유롭게 이용할 수 있다. 이는 민감한 데이터가 포함된 API나 리소스를 노출할 경우 보안 위험을 초래할 수 있다.
데이터 유출: 공격자는 이 설정을 이용해 CSRF(Cross-Site Request Forgery)나 XSS(Cross-Site Scripting)와 같은 공격을 통해 사용자의 데이터를 탈취할 수 있다.
브라우저 성능 저하: 모든 도메인에서 요청을 허용하게 되면, 많은 양의 요청이 서버에 도달하여 서버 성능이 저하될 수 있다.
키워드 과제4
CSRF(Cross-Site Request Forgery)와 Django에서의 방어 방법
CSRF(Cross-Site Request Forgery):
정의: CSRF는 사용자가 인증된 세션을 가지고 있는 동안 공격자가 사용자의 권한을 이용해 웹 애플리케이션에 비정상적인 요청을 보내는 공격이다. 예를 들어, 사용자가 특정 웹사이트에 로그인한 상태에서 악의적인 사이트를 방문하면, 그 사이트가 사용자의 권한으로 원하지 않는 요청을 보낼 수 있다.
원리: 공격자는 사용자의 브라우저가 인증된 상태임을 이용하여, 사용자가 모르게 악의적인 요청을 보낸다. 이 요청은 사용자의 세션 쿠키를 포함하여 서버에 전송되므로 서버는 이를 정상적인 요청으로 간주하게 된다.
Django에서의 CSRF 방어 방법:
CSRF 토큰 사용: Django는 기본적으로 모든 POST 요청에 대해 CSRF 토큰을 사용하여 방어한다. 이 토큰은 폼에 숨겨진 입력 필드로 포함되며, 서버는 요청 시 이 토큰의 유효성을 검증한다.
@csrf_protect 데코레이터: 뷰 함수에 이 데코레이터를 사용하여 CSRF 공격을 방지할 수 있다. 모든 POST 요청에 대해 CSRF 토큰이 올바르게 포함되어 있는지 확인한다.
@csrf_exempt 데코레이터: 특정 뷰에서 CSRF 검사를 비활성화할 수 있지만, 이는 매우 위험할 수 있으므로 주의해서 사용해야 한다.
CSRF_COOKIE_HTTPONLY 설정: Django 설정 파일에서 CSRF_COOKIE_HTTPONLY를 True로 설정하여 CSRF 쿠키를 JavaScript로 접근할 수 없게 한다.
Referer 헤더 확인: Django는 기본적으로 Referer 헤더를 확인하여 요청이 올바른 출처에서 왔는지 검증한다.
CSRF 공격을 방어하기 위해 Django에서는 다양한 보안 기능을 제공하고 있으므로, 이를 잘 활용하여 애플리케이션의 보안을 강화하는 것이 중요하다.
The text was updated successfully, but these errors were encountered:
키워드 과제1
URL vs. Origin vs. Domain의 개념과 관계
세 키워드 간의 관계는 다음과 같습니다:
키워드 과제2

같은 출처? 다른 출처?
https://lionz12.netlify.app와 아래의 URL을 비교하여 같은 출처인지, 다른 출처인지, 그 이유는 무엇인지 간략하게 작성
키워드 과제3
Access-Control-Allow-Origin: * 의미와 설정 시 발생할 수 있는 일
키워드 과제4
CSRF(Cross-Site Request Forgery)와 Django에서의 방어 방법
CSRF 공격을 방어하기 위해 Django에서는 다양한 보안 기능을 제공하고 있으므로, 이를 잘 활용하여 애플리케이션의 보안을 강화하는 것이 중요하다.
The text was updated successfully, but these errors were encountered: