일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- OS
- Spring
- Trino
- MAC address
- aws s3
- Operating System
- ip
- log
- airflow
- java
- Packet
- Vision
- kubeadm
- JavaScript
- CSV
- zookeeper
- grafana
- docker
- Kafka
- CVAT
- PostgreSQL
- Network
- EC2
- kubectl
- Python
- tcp
- kubernetes
- AWS
- jvm
- helm
Archives
- Today
- Total
JUST WRITE
SOP 본문
SOP
Same-origin policy
SOP(Same-origin policy)는 다른 Domain Resource로부터의 공격을 막기 위한 Web Brrowser 보안 정책이다.
다른 Origin로부터의 Data 접근을 제한한다.
Origin은 URI scheme, Domain, Port Number로 구성된다.
예를 들어 아래와 같은 URL은
http://normal-website.com/example/example.html
- Scheme -> http
- Domain -> normal-website.com
- Port Number -> 80
로 구성된다.
URL accessed | SOP Access 허용 여부 |
http://normal-website.com/example/ | Yes |
http://normal-website.com/example2/ | Yes |
https://normal-website.com/example/ | No, Different scheme and Port Number |
http://en.normal-website.com/example/ | No, Different Domain |
http://www.normal-website.com/example/ | No, Different Domain |
http://normal-website.com/example:8080/example/ | No, Different Port Number |
SOP 필요성
다른 Origin에서 HTTP Request를 요청하면 인증 Session과 같은 다른 Domain 정보의 Cookie가 전달된다.
즉, 사용자의 Session내에서 사용자 특별한 정보가 담긴 Response가 생성된다.
SOP가 없다면 악성 Web Site나 개인적인 정보가 노출될 수 있다.
SOP 구현
일반적으로 JavaScript 코드 내 다른 Cross-domain 콘텐츠의 접근을 제한한다.
<img>, <video> Tag와 같이 외부 Resource의 접근을 허용하지만 해당 페이지의 JavaScript에서는 읽지 못한다.
예외
Window, Location 객체로부터 예외적인 접근이 가능하다.
Window 관련 Function
- window.blur
- window.close
- window.focus
- window.postMessage
Window 관련 속성
속성 | 읽기 / 쓰기 |
window.closed | 읽기 전용 |
window.frames | 읽기 전용 |
window.length | 읽기 전용 |
window.location | 읽기 / 쓰기 |
window.opener | 읽기 전용 |
window.parent | 읽기 전용 |
window.self | 읽기 전용 |
window.top | 읽기 전용 |
window.window | 읽기 전용 |
Location 관련 Function, 속성
- location.replace
- URLUtils.href (쓰기 전용)
728x90
반응형
'Network' 카테고리의 다른 글
Web Vitals (0) | 2021.12.29 |
---|---|
CORS (0) | 2021.12.19 |
JWT (0) | 2021.12.10 |
Synchronous vs Asynchronous (0) | 2021.11.12 |
GET vs POST (0) | 2021.09.22 |
Comments