0편인 이유는, CORS에 대해 충분히 이해했다 싶었는데
여러 블로그를 또 돌아다니다보니 부족함이 느껴져서
차라리 0편으로 하고싶은 이야기를 풀어버리자고 생각하게 되어 작성하였습니다.
위 내용은 AWS에서 CORS에 대해 작성한 글이다.
나도 이러한 내용으로 이해를 하고 있었는데 GPT가 한마디를 거들었다.
... 뭔가 답답하다. 이쯤되니 ChatGPT가 거짓말이 아닌가?라는 생각도 들긴 들었다.
그래서 먼저 내 생각을 정리하고 그게 맞는지를 검증하기로 했다.
내 생각 정리.
1. 예전에는 직장인 A가 있었다.
2. 이 직장인은 은행 사이트에 로그인을 하고나서 월급을 확인하고, 사고싶던 것을 구매하기 위해 쇼핑몰 사이트로 이동했다.
3. 하필 접속한 쇼핑몰 사이트가 해커가 만든 악성 사이트였던 것이다.
4. 악성 사이트에서는 직장인 A의 인증 정보를 통해 은행 사이트로 요청을 보내는 스크립트가 작성되어 있다.
(이 경우에 악성 사이트(Bad.com)에서 은행 사이트(Bank.com)으로 요청을 보내어 origin이 다른 경우에 속한다)
5. 따라서 브라우저는 이러한 CSRF공격을 막기 위해 SOP(Same Origin Policy)를 도입했다.
6. 하지만 웹사이트가 점점 발전함에 따라 뉴스 사이트에서 동영상 사이트 정보를 불러오는 경우도 생겨났다.
7. 이와 같이 출처가 다른 사이트간의 데이터 전송을 허용해주기 위해 CORS가 등장했다.
따라서 SOP라는 것이 먼저 도입된 후에 사이트간의 허용을 위해 CORS Policy가 생긴 것이다.
그러면 프론트엔드 개발할 때 나타나는 CORS Error는
"localhost에서 api.example.com에 접근하려고 했는데, 그 사이트는 CORS 허용을 하지 않아서 차단됐어"인데
만약 이거 보다 자세하게 적는다면,
"localhost에서 api.example.com에 접근하려고 했는데, 원래는 SOP에 의해 안돼.
근데 너가 접근하고 싶어하니까 CORS를 확인해 봤어. 근데 그 사이트는 CORS 허용을 하지 않아서 차단됐어"
이렇게 되는건가?
그러면 여기서부터 시작을 해보겠다.
SOP는 무엇이고, 왜 만들어졌어?
CORS는 무엇이고, 왜 만들어졌어?
XSS, CSRF 공격은 뭐야?
'📚 지식글' 카테고리의 다른 글
[2] 이제는 CORS를 알아보자. (0) | 2025.05.16 |
---|---|
[1] CORS만 알았지, SOP는 몰랐다. (0) | 2025.04.24 |
[정보] Jetbrains, IntelliJ, 인텔리제이 라이센스 갱신이 안될 때 (0) | 2024.04.02 |
[정보] Jetbrains, IntelliJ, 인텔리제이 학생(교육) 라이센스 갱신하는 방법 (0) | 2024.04.01 |
[에러해결] Adobe creative cloud 삭제 방법 (0) | 2023.08.10 |