상황 | 쿠키 포함 여부 |
Same-origin fetch | |
Cross-origin fetch (기본) | |
Cross-origin + credentials: 'include' |
•
•
쿠키를 사용하면 막을 수 없는 공격
◦
XSS → 토큰 악용
▪
▪
해커가 당신의 프론트엔드(hegemony.frontend.com)에 자바스크립트를 심음.
▪
fetch('https://hegemony.solvewithit.us/api/memo/123', {
method: 'DELETE'
})
Python
복사
▪
내 데이터가 모두 삭제됨!
◦
CSRF → 토큰 악용: CORS를 사용하면 막을 수 있음!
▪
▪
•
그 사이트에는 보이지 않는 이미지가 숨겨져 있음. <img src="https://hegemony.solvewithit.us/api/memo/delete_all" style="display:none">
▪
▪
내 데이터가 모두 삭제됨!
•
CORS를 사용하면 막을 수 있음
◦
브라우저 제조사(Google, Apple, Microsoft 등)은 "절대 자바스크립트로 조작할 수 없는 금지된 헤더(Forbidden Headers)" 목록을 만들어 두었고, Origin과 Referer가 그 목록의 최상단에 있음.
parse me : 언젠가 이 글에 쓰이면 좋을 것 같은 재료을 보관해 두는 영역입니다.
1.
None
from : 과거의 어떤 원자적 생각이 이 생각을 만들었는지 연결하고 설명합니다.
supplementary : 어떤 새로운 생각이 이 문서에 작성된 생각을 뒷받침하는지 연결합니다.
1.
None
opposite : 어떤 새로운 생각이 이 문서에 작성된 생각과 대조되는지 연결합니다.
1.
None
to : 이 문서에 작성된 생각이 어떤 생각으로 발전되거나 이어지는지를 작성하는 영역입니다.
1.
None
ref : 생각에 참고한 자료입니다.
1.
None