๊ฐ๋ฐ์๋ก ์ ํฅํ๊ณ ์ฒซ ํ์ฌ์ ์ ์ฌํ์ ๋ ์ฟ ํค์ ํน์ฑ์ ์ ๋ชฐ๋ผ์ ๋ก๊ทธ์ธ ๋ฐฉ์์ ๋ํด ์ด๋ ค์์ ๊ฒช์ ๊ธฐ์ต์ด ์๋ค.
์ง๊ธ์ ๋น์ฐํ์ง๋ง ๊ทธ ๋๋ ์ฟ ํค์ ์๋ช ์ฃผ๊ธฐ, ๋๋ฉ์ธ ๋ฒ์, SameSite๊ฐ์ ๊ฐ๋ ์ด ์์ผ ํท๊ฐ๋ ธ๋์ง... ๐ฅฒ
์์ด ๋จ์ด๋ก๋ ์ฐ๋ฆฌ๊ฐ ๋จน๋ ๊ทธ ์ฟ ํค ๋ง๋ค! ๐
์ง์ง ๋จน๋ ์ฟ ํค์ ๊ด๊ณ ์๋๊ณ ? ์๋ค. ์์ฃผ ๊ฐ์ ์ ์ผ๋ก.
์ฟ ํค๋ผ๋ ์ด๋ฆ์ 1970๋
๋ ์ ๋์ค ์์คํ
์์ ์ฐ์ด๋ magic cookie๋ผ๋ ๊ฐ๋
์์ ์๋ค.
magic cookie๋ โ์์ ๋ฐ์ดํฐ ์กฐ๊ฐ์ ์ฃผ๊ณ ๋ฐ์ผ๋ฉฐ ์ํ๋ฅผ ๊ธฐ์ตํ๊ฒ ํด์ฃผ๋ ํ ํฐโ ๊ฐ์ ๊ฐ๋
์ด์๋ค.
ํ๋ ์น์์์ ์ฟ ํค๋ ๋น์ทํ ์ญํ ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ์ด๋ฆ์ ๊ทธ๋๋ก ๊ฐ์ ธ๋ค ์ด ๊ฒ!
๊ทธ๋ผ โ์ ํํ ์ฟ ํค?โ ๐ช
์ ํํ ๊ธฐ์์ ์ ์ค์ด ์์ง๋ง, ์ด์จ๋ ์ง๊ธ์ ์ฟ ํค๋ ์ง์ง ์ค์ํ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ์น ์ํ๊ณ์ ๋ฒ ์คํธ์ ๋ฌ ๊ฐ์(?)์ด๋ค.
alert(document.cookie); // ๊ฐ์ธ์ ๋ณด ํธ๋ฆฌ๊ธฐ ๋ฑ ์ข์!
Set-Cookie
ํค๋๋ก ์ฟ ํค ์ ์กCookie
ํค๋์ ์๋ ํฌํจtest.com
์์ ๋ง๋ ์ฟ ํค๋ naver.com
์ ์ ์ก ์๋จwww.test.com
๊ณผ test.test.com
๋ ์๋ก ๋ค๋ฅด๊ฒ ์ทจ๊ธ๋จhttps://www.test.com/api
- 'com' -> ์ต์์ ๋๋ฉ์ธ (TLD)
- 'test' -> 2์ฐจ ๋๋ฉ์ธ
- 'www' -> ์๋ธ ๋๋ฉ์ธ
- 'www.test.com' ์ 'test.com'์ ์๋ธ๋๋ฉ์ธ!
test.com
๊ณผ www.test.com
โ SameSitetest.com
๊ณผ naver.com
โ CrossSiteSameSite=Lax
, Strict
, None
๋ฑ์ด ์์ํ๋กํ ์ฝ + ๋๋ฉ์ธ + ํฌํธ
๊ฐ ๋ชจ๋ ๋์ผํด์ผ SameOriginhttps://test.com:443
๊ณผ http://test.com:443
์ CrossOriginwww.test.com
์ด๋ test.test.com
์ test.com
์์ ๋ง๋ ์ฟ ํค๋ฅผ ์ฌ์ฉํ ์ ์์localhost
๋ฅผ localhost.com
์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ํด๊ฒฐ ๊ฐ๋ฅsudo vim /etc/hosts
127.0.0.1 localhost.com
127.0.0.1 bank.localhost.com
.cloudfront.net
์ ๋ณด์ ์ ์ฑ
์ ์ฟ ํค ์ค์ ์ด ์ ํ๋ ์ ์์