๐ Cookie,Session, JWT
๋ชจ์ผ์ก์ Next-auth๋ฅผ ๊ณ ๋ คํ๋ฉด์ Cookie,Session, JWT์ ๋ํด ๋ค์ ์ ๋ฆฌํ ํ์์ฑ์ ๋๊ผ๋ค. ๊ฐ๊ฐ์ ๋ฌธ์ ์ ๊ณผ ํด๊ฒฐ๊ณผ์ ๋ค์ ์ ๋ฆฌํ๊ณ ๋ณด์์ ์ด๋ป๊ฒ ๊ณ ๋ คํด์ ๊ฐ๊ฐ์ ์ฌ์ฉํ ์ ์์์ง ์ ๋ฆฌํด๋ณด์๋ค.
์ธ์ฆ๊ณผ ์ธ๊ฐ๋
์ธ์ฆ๊ณผ ์ธ๊ฐ, ๋จ์ด ๋ง์ผ๋ก๋ ๊ตฌ๋ถ์ด ์ ์ ๊ฐ์ ๋จผ์ ์ ๋ฆฌ๊ฐ ํ์ํ๋ค. ์ธ์ฆ์ ์ ๋ณด๋ฅผ ์ด์ฉํด ์ ์์ ํ์ธํ๋ ๊ณผ์ ์ด๊ณ , ์ธ๊ฐ๋ ์ฌ์ฉ์๊ฐ ํด๋น ๋ฆฌ์์ค์ ๋ํด ์ ๊ทผํ ์ ์๋ ๊ถํ์ด ์๋์ง ํ์ธํ๋ ๊ณผ์ ์ด๋ค.
์๋ฅผ ๋ค์ด ์ปค๋ฎค๋ํฐ์ ๋ค์ด๊ฐ ๊ธ์ ์์ฑํ๋ค๊ณ ๊ฐ์ ํ์. ์์ด๋์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ํ๊ณ ๋ง๋ ํ์์ ๋ณด๋ฅผ ์ด์ฉํด ์๋น์ค ์ด์ฉ์๋ผ๋ ๊ถํ์ ์ป๊ณ ๋ค์ด๊ฐ ์ ์๋ ๊ฒ, ๋ฐ๋ก ์ธ์ฆ๊ณผ์ ์ด๋ค. ๋ก๊ทธ์ธ ํ์ ๋ง์์ ๋ค์ง ์๋ ๋ค๋ฅธ ์ฌ๋์ ๊ธ์ ์ง์ฐ๊ณ ์ถ์ด์ก๋ค. ํ์ง๋ง ๋ด๊ฐ ์ฐ์ง ์์ ๊ธ์ ์ง์ธ ์ ์๋ค. ์๋ํ๋ฉด ๋ค๋ฅธ ์ฌ๋์ ๊ธ์ ์์ ํ ์ ์๋ ๊ถํ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๊ฒ ๋ฐ๋ก ์ธ๊ฐ๊ณผ์ ์ด๋ค.
์ด๋ฌํ ์ธ์ฆ, ์ธ๊ฐ๊ณผ์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์ธ์ฆ๋ฐฉ์์ผ๋ก "cookie์ session์ ์ด์ฉํ ๋ฐฉ๋ฒ"๊ณผ "JWT๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ"์ด ์๋ค. ๋จผ์ ๊ฐ๊ฐ์ ๋ํด์ ์ ๋ฆฌํด ๋ณด๊ณ ์ ํ๋ค.
Cookie์ Session
๋ ๊ฐ์ง ๋ฐฉ์์ ์ดํดํ๊ธฐ ์ ์ ์ด์ ์ ์ ๋ฆฌํ๋ HTTP์ ํน์ง ์ค stateless๋ฅผ ์ดํดํด์ผ ํ๋ค. stateless๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ์ฌ์ด์ http ํต์ ๋ค๊ฐ์ ์ฐ๊ด์ฑ์ด ์๋ค๋ ์๋ฏธ์ด๋ค. ๋จผ์ ์ด๋ ํ ํต์ ์ ๋ณด๋ด์ผ ๋ค์ ํต์ ์ ๋ณด๋ด๋ ๊ฒ์ด ์๋๋ผ ํญ์ ๋ ๋ฆฝ์ ์ธ ํต์ ์ ์ ์งํ๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ ์ด์ ์ ์ธ์ฆํ๋์ง๋ฅผ http ํต์ ์์ฒด๋ ์ ์ ์๋ค.
Cookie
์ฟ ํค๋ ์น์ฌ์ดํธ์ ๋ฐฉ๋ฌธ ์์ ์๋ฒ๋ฅผ ํตํด ํด๋ผ์ด์ธํธ ๋ธ๋ผ์ฐ์ ์ ์ค์น๋๋ key์ value ํํ๋ฅผ ๊ฐ์ง ๋ฐ์ดํฐ ํ์ผ์ ์๋ฏธํ๋ค. HTTP๋ก ํด๋น ์ฌ์ดํธ์ ๋ก๊ทธ์ธ ์์ฒญ์ ํ๊ฒ ๋๋ฉด ์๋ฒ๋ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ฟ ํค์ ๋ด์ ์๋ต์ ๋ณด๋ด์ฃผ๊ฒ ๋๋๋ฐ, ์ด๋ ๋ฐ์ ์ฟ ํค๋ ๋ธ๋ผ์ฐ์ ์ ์๋์ผ๋ก ์ ์ฅ๋๊ณ ํด๋ผ์ด์ธํธ๊ฐ ์ง์ ๋ฃ์ด์ ์์ฒญ์ ๋ณด๋ด์ง ์์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋์ผ๋ก request header์ ๋ฃ์ด์ ์๋ฒ์ ์ ๋ฌํ๋ค. ์ธ์ฆ์ด ํ์ํ ๋๋ง๋ค ๋ก๊ทธ์ธ์ ํ์ง ์์๋ ์ธ์ฆ์ ํ ์ ์๋ ์ฅ์ ์ ๊ฐ์ง๋ค.
์ด๋ ๊ฒ ์ฟ ํค๋ HTTP์ stateless ํน์ฑ์ ์งํค๋ฉด์ ์ธ์ฆ์ ํ ์ ์๋ค. ํ์ง๋ง ์ธ์ฆ ์ ๋ณด๊ฐ ํด๋ผ์ด์ธํธ์ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋์ด ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ ๊ทผ์ด ๊ฐ๋ฅํ ์ํ๋ก ๋ณด๊ด ์ ๋ณด์์ ์ํํ ๋จ์ ์ ๊ฐ์ง๋ค. ์ด์ ์ ํด๊ฒฐํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ด session์ด๋ค.
Session
์ธ์ ์ ์ฟ ํค๋ก ๋ด์์ ๋ณด๋๋ ์ธ์ฆ ์ ๋ณด๋ฅผ ํด๋ผ์ด์ธํธ์ ๋ณด๊ดํ๋ ๊ฒ์ด ์๋๋ผ ์๋ฒ๊ฐ ๋ณด๊ดํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ก๊ทธ์ธ ์์ฒญ์ด ๋ค์ด์ค๋ฉด ํด๋นํ๋ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๋ด์ ์ธ์ ID๋ฅผ ๋ง๋ค์ด ์๋ฒ์ ์ ์ฅํ ํ์ ํด๋น ์ธ์ ID๋ฅผ ์ฟ ํค์ ๋ด์ ๋ธ๋ผ์ฐ์ ์ ๋ณด๋ด๊ฒ ๋๋ค. ์ด๋ ๋ธ๋ผ์ฐ์ ์ ๋ณด๋ผ ๋ cookie๋ฅผ ๊ทธ๋ฅ ๋ณด๋ด๋ ๊ฒ์ด ์๋๋ผ httpOnly๋ก ๋ณด๋ด ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ ๊ทผํ ์ ์๊ณ ๋ธ๋ผ์ฐ์ ๋ง ์ฝ์ ์ ์๊ฒ ๋ณด๋ธ๋ค.
์ด๋ ๊ฒ ์ธ์ ์ ์ด์ฉํ๊ฒ ๋๋ฉด ํด๋ผ์ด์ธํธ๋ ๊ฐ์ ์ฌ์ฉ์ ์ ๋ณด๋ก login์ ํ์ ๋, ๋ณ๋ค๋ฅธ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์๋ request Header์ ์ ๋ฌ ๋ฐ์ ์ฟ ํค๋ฅผ ๋ฃ์ด์ ๋ณด๋ด๊ฒ ๋๊ณ , ์๋ฒ๋ ์๋ฒ์ ์ ์ฅํด๋ ์ธ์ ์ ๋ณด์ ์ผ์นํ๋์ง๋ฅผ ํ์ธํด ์ธ์ฆ ๊ณผ์ ์ ์งํํ๋ค.
์ด๋ ๊ฒ ์ธ์ ์ ์ด์ฉํ๊ฒ ๋๋ฉด ์๋ฒ๊ฐ ๊ด๋ฆฌํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ฟ ํค๋ฅผ ๊ทธ๋ฅ ๋ฐ๊ธํ ๋๋ณด๋ค๋ ๋๋ฆฌ์ง๋ง, ๋ณด์์ ๊ฐํํ ์ ์๋ค. ํ์ง๋ง ์๋ฒ ์์ฒด๊ฐ ์ธ์ ์ ๊ด๋ฆฌํด์ผ ํ๋ฉด์ ์๋ฒ๊ฐ statefulํด์ง๋ ๋จ์ ์ ๊ฐ์ง๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ ๊ฒ stateful ํด์ง ์๋ฒ๋ session์ ์ด๋ป๊ฒ ๊ด๋ฆฌํด์ผ ํ ์ง์ ๋ํ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ฒ ๋๋ค.
๋จผ์ ๋ง์ฝ ์๋ฒ ๋ก์ปฌ์ ์ ์ฅํ๋ค๋ฉด ์๋ฒ๊ฐ ๊บผ์ง๊ฒ ๋ ์ฌ๊ณ ๊ฐ ๋ฐ์ํ๋ค๋ฉด ์ด์ ์ ๋ชจ๋ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์์ด ๋ฒ๋ฆฌ๊ฒ ๋๋ค. ๋ ๋ฒ์งธ๋ก๋ ํ์ฅ์ฑ์ด ๋จ์ด์ง๊ฒ ๋๋ค. ์ฌ๋ฌ ๋๊ฐ ๋์์ ๋ ๊ฐ๊ฐ ์๋ฒ์ ์ ์ฅํ๋ค๋ฉด ์๋ฒ1์์ ์ธ์ฆํ ์ฌ์ฉ์๊ฐ ์๋ฒ3์ผ๋ก ์ ์ํ์ ๋ ๊ฐ์ ์ ๋ณด์ง๋ง ์ธ์ฆ ๋ฐ์ง ๋ชปํ๋ ๋จ์ ์ ๊ฐ๊ฒ ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด session์ ์ด์ฉํ ๋๋ Session DB๋ฅผ ๋์ด ์๋ฒ์ ๋ถ๋ฆฌํด ๊ด๋ฆฌํ๋ค. ์๋ฒ๊ฐ ๊บผ์ ธ๋ DB๊ฐ ์ด์์๋ค๋ฉด ์ฌ์ฉ์ ์ ๋ณด๊ฐ ๋ ๋ผ๊ฐ์ง ์๊ณ , ์๋ฒ๊ฐ ์ฌ๋ฌ ๋๊ฐ ๋์ด๋ ํ ๊ณณ์์ ์ธ์ ์ ๊ด๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ธ์ฆ์ ๋ฐ์ ์ ์๊ฒ ๋๋ค.
JWT๋ค.
JWT
JWT (Json Web Token)์ JSON ๊ฐ์ฒด ๊ตฌ์กฐ์ ์ธ์ฆ ์ ๋ณด๋ฅผ secret ํค๋ฅผ ์ด์ฉํด ์ํธํ ์ํจ ํ ํฐ์ผ๋ก header, payload, signature ์ธ ๊ฐ์ง๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- Header: ์ํธํ๋ฅผ ์ํด ์ฌ์ฉํ ์๊ณ ๋ฆฌ์ฆ๊ณผ type
- Payload: ์ ์กํ ์ธ์ฆ ์ ๋ณด
- Signature: Base64๋ฐฉ์์ผ๋ก header, payload ์ธ์ฝ๋ฉํ๊ณ secret ํค๋ก ์ํธํ ๋์ด์๋ ๋ฌธ์์ด๋ก, payload์ ๋ด์ฉ ๋ณํ๋ฅผ ์ฒดํฌํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
๊ทธ๋ฌ๋ฉด ๋ณด์์ ์ทจ์ฝํ ๊ฒ ์๋๊น ์ถ์ง๋ง, signature๋ถ๋ถ์ header์ payload ์๋ฒ์ ๋ณด๊ดํ ๊ฐ์ธ ํค๋ฅผ ์ด์ฉํด์ ์ํธํ๋์ด์๊ธฐ ๋๋ฌธ์ ์์ ํ๋ค. ์๋ฒ๋ง์ด ๋ณตํธํํ ์ ์๋ ๊ฐ์ธ ํค๊ฐ ์๊ธฐ ๋๋ฌธ์ ์๋ฒ๋ JWT ํ ํฐ์ ์ ๋ฌํ ํด๋ผ์ด์ธํธ์ ์ ๋ฌํด์ฃผ๊ณ ์ ๋ฌ๋ฐ์ ํ ํฐ์ผ๋ก ์ดํ์ ์ฟ ํค๋ฅผ ์ฌ์ฉํ๋ฏ์ด ์ธ์ฆ์ด ํ์ํ ์์ฒญ์ ๋ด์์ ์๋ฒ์ ์์ฒญํ๋ค. ์์ฒญ์ ๋ค์ด์๋ JWT์ signature๋ถ๋ถ์ ์๋ฒ์ ์ ์ฅ๋์ด ์๋ secret์ผ๋ก ๋ณตํธํํด header์ payload๋ฅผ ํ์ธํด ์ธ์ฆํ๊ฒ ๋๋ค.
์๋ฒ๋ ๋ ์ด์ ์ธ์ฆ์ ์ํด session์ ๊ฐ์ง๊ณ ์์ง ์์๋ ๋๊ณ , ๊ฐ๊ฐ์ ์๋ฒ์ secret ํค๋ฅผ ๋๊ณ ํ์ธํ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ ๋ฌธ์ ๋ ํด๊ฒฐํ ์ ์๋ ์ฅ์ ์ ๊ฐ์ง๋ค. ํ์ง๋ง ํ ํฐ statelessํ ์ฅ์ ์ session๊ณผ ๋ค๋ฅธ ๋ณด์์ ํ์ ์ ๋ง๋ ๋ค. ํ ํฐ์ ๋ ธ์ถ๋ ๊ฒฝ์ฐ ํด๋น ์ฌ์ฉ์๋ก ๋ก๊ทธ์ธํ ์ฌ๋์ด ์๋ฒ์์๋ ๋๊ตฌ์ธ์ง ์ ์๊ฐ ์๋ค. ์ด๋๋ฌธ์ ํ ํฐ์ ์ด๋ป๊ฒ ๊ด๋ฆฌํ ์ง์ ๋ํด์ ์๋ก์ด ๋ฌธ์ ์ ์ ๊ฐ์ง๋ค.
Access Token๊ณผ Refresh Token
ํ ํฐ ๊ด๋ฆฌ๋ฅผ ์ํด ์ฃผ๋ก ๋ง๋ฃ ๊ธฐ๊ฐ์ด ์งง์ Access ํ ํฐ๊ณผ ๋ง๋ฃ ๊ธฐ๊ฐ์ด ๊ธด refresh ํ ํฐ์ ๋๊ณ ๊ด๋ฆฌํ๋ค. ์ ํจ๊ธฐ๊ฐ์ด ์งง์ access Token๋ง ๋ณด๋ด๊ฒ ๋๋ฉด ์ ์ ๋ ๊ณ์ํด์ ๋ก๊ทธ์ธ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๊ธฐ ๋๋ฌธ์ ์ ํจ ๊ธฐ๊ฐ์ด ๊ธด refresh ํ ํฐ์ ํจ๊ป ๋ณด๋ด ๋ก๊ทธ์ธ ์ ์ง๊ฐ ๋ ์ ์๊ฒ ํ๋ค.
๊ณผ์ ์ ๋ณด๋ฉด ๋จผ์ ํ ํฐ์ ๋ฐ๊ธํ ๋ ๋ ๊ฐ์ง ํ ํฐ์ ๋ค ์ ๋ฌํ๋ค.
์ฌ์ฉ์๋ ์ ๋ฌ ๋ฐ์ access token์ผ๋ก ์ ํจ ๊ธฐ๊ฐ ๋์ ์ธ์ฆ์ ์งํํ๊ณ , ์ดํ ์ ํจ ๊ธฐ๊ฐ์ด ๋ค๋๊ฒ ๋๋ฉด refresh ํ ํฐ์ ์ด์ฉํด ์๋กญ๊ฒ access token์ ๋ฐ์ ์ธ์ฆ์ ์งํํ ์ ์๋ค.
Access ํ ํฐ์ ์ ํจ ๊ธฐ๊ฐ์ด ์งง์ง๋ง ์ฌ์ ํ ๊ทธ์ฌ์ด์ ํดํน์ ์ํ์ด ์๊ณ , Refresh Token ์ ํจ ๊ธฐ๊ฐ์ด ๊ธธ๊ธฐ ๋๋ฌธ์ ๋์ฑ ๋ณด์์ ์ ๊ฒฝ์ ์จ์ผ ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ํ๋ก ํธ์๋ ์ ์ฅ์์ ์ด๋์ ๋ณด๊ดํ๋๋ ์ฌ์ ํ ๋ฌธ์ ๊ฐ ๋๋ค.
๊ทธ๋์ ํ ํฐ์ ์ด๋์ ๋ณด๊ดํด์ผ ํ ๊น?
๊ฐ์ฅ ๋จผ์ ๊ณ ๋ ค๋ ๊ฒ์ ๋ด๊ฐ ์์ฃผ ์ฌ์ฉํด์จ ๋ฐฉ์์ธ ๋ธ๋ผ์ฐ์ ์ localstorage์ด๋ค. local storage๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋ซํ๋ ์ ์ง๋๊ธฐ ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ ๊ทผํด request header์ Authorization์ ํด๋น ํ ํฐ์ ๋ด์ ์ฃผ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. ๊ฐ์ฅ ๊ฐ๋จํ๊ณ ์ฝ๊ธฐ ๋๋ฌธ์ ํ๋ก์ ํธ์ ํ ํฐ์ ๋ก์ปฌ์คํ ๋ฆฌ์ง๋ก ๊ด๋ฆฌํ๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ฐฉ์์ XSS (Cross-Site Scripting) ๊ณต๊ฒฉ์ ์ทจ์ฝํ ๋จ์ ์ ๊ฐ์ง๋ค.
XSS (Cross-site scripting)
XSS ๊ณต๊ฒฉ์ ์น์ฌ์ดํธ์ ์ ์ฑ ์คํฌ๋ฆฝํธ๋ฅผ ์ฃผ์ ํ๋ ๋ฐฉ์์ผ๋ก ์ฃผ๋ก ํ์ด์ง์ input์ด๋ form์ ์ด์ฉํด ๊ณต๊ฒฉํ๋ ๋ฐฉ์์ด๋ค. ์ฃผ์ ํด๋์ ์ฌ์ดํธ์ ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ๊ฒ ๋ ๊ฒฝ์ฐ์ ์ฌ์ฉ์์ ํ ํฐ, ์ฟ ํค ๋ฑ์ ์ ๋ณด๋ฅผ ๋นผ๋ผ ์ ์๊ฒ ๋๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ ๊ทผํ ์ ์๋ localstorage๋ ๋ณ๋์ ์ต์
์์ด ์ฟ ํค์ ํ ํฐ์ ์ ์ฅํ๊ฒ ๋ ๊ฒฝ์ฐ์๋ XSS ๊ณต๊ฒฉ์ ์ทจ์ฝํ๊ฒ ๋๋ค. ์ด๊ฒ์ ๋ง๊ธฐ ์ํด์๋ ํด๋ผ์ด์ธํธ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ๋ ๋ฐฉ์๊ณผ http only ์ฟ ํค๋ฅผ ์ด์ฉํ๋ ๋ฐฉ์์ด ์๋ค. ํด๋ผ์ด์ธํธ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํ ๊ฒฝ์ฐ์๋ ๊ด๋ฆฌ๋ ์ฝ์ง๋ง ๋ก๊ทธ์ธ์ ์ ์งํ ์๊ฐ ์๋ ๋จ์ ์ด ์์ด ๋ณดํต http only ์ฟ ํค๋ก ์๋ฒ์์ ํ ํฐ์ ๋ณด๋ด์ฃผ๋ฉด ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํ๊ณ ์๋์ผ๋ก ์์ฒญ์ ๋ด์์ ๋ณด๋ด๋ ๋ฐฉ์์ ์ ์ฉํ ์ ์๋ค.
ํ์ง๋ง http only ์ฟ ํค๋ก ํ ํฐ์ ์ ์ฅํ๋ ๋ฐฉ๋ฒ๋ CSRF ๊ณต๊ฒฉ์ ์ฝํ ๋จ์ ์ด ์กด์ฌํ๋ค.
CSRF(Cross-site Request Forgery)
CSRF๊ณต๊ฒฉ์ ์ฌ์ฉ์๊ฐ ์ํ์ง ์์ action์ ํ๊ฒํ๋ ํดํน ๋ฐฉ๋ฒ์ผ๋ก, ๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ์ด์ฉํด ์ฌ์ฉ์ ๋ชฐ๋ ๋ธ๋ผ์ฐ์ ์ ์ ์ฅ๋์ด์๋ ์ฟ ํค๋ฅผ ์ด์ฉํด ์์ฒญ์ ๋ณด๋ด๋ ๋ฐฉ์์ด๋ค. http only๋ก ๋ ์ฟ ํค์ด๊ธฐ ๋๋ฌธ์ ์ง์ ๋นผ์ฌ ์๋ ์์ง๋ง ๊ณ์ข์ด์ฒด๋ ๋ฌผ๊ฑด์ ๊ตฌ์
ํ๋ ์์ฒญ์ ๋ณด๋ด๋ ๋ฑ์ ์์ฒญ์ ํ ์ ์๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ http only ์ฟ ํค๋ง์ ์ด์ฉํด์ ํ ํฐ์ ๊ด๋ฆฌํ๋ค๋ฉด CSRF๊ณต๊ฒฉ์ ์ทจ์ฝํ ์ ์์ด, ์ถ๊ฐ์ ์ธ ๋ฐฉ์์ด ํ์ํ๋ฐ ์ด๋ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ด CSRF ํ ํฐ์ด๋ค.
CSRF ํ ํฐ์ ์๋ฒ์์ ๋ฐ๊ธํ๋ฉด ํด๋ผ์ด์ธํธ์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅํด ๋๊ณ ์์ฒญ์ ๋ณด๋ผ ๋๋ง๋ค ํจ๊ป ๋ณด๋ด์, http only ์ฟ ํค์ CSRFํ ํฐ์ ์๋ฒ๊ฐ ํ์ธ ํ์ ์์ฒญ์ด ์ฒ๋ฆฌ๋ ์ ์๊ฒ ํจ์ผ๋ก์จ ๊ณต๊ฒฉ์ ๋ง์ ์ ์๋ค.
๋ง์น๋ฉฐ
์ธ์ฆ์ด๋ ๊ณผ์ ์ ๊ต์ฅํ ๋ณต์กํ ๊ณผ์ ๋ค์ด ์จ์ด์๊ณ ๊ณ ๋ คํด์ผํ ์ ์ด ๋ง๋ค. ํ๋ก ํธ์๋์์๋ ๋ฐฑ์๋์์๋ง ์ ์ฒ๋ฆฌํ๋ค๊ณ ํด๊ฒฐ๋๋ ๊ฒ์ด ์๋๋ผ ๋๊ฐ์ง ์ธก๋ฉด์ ๋ชจ๋ ์๊ฐํด์ผ ๋ณด์์ ๊ณ ๋ คํ ์ธ์ฆ๋ฐฉ์์ด ๋ ์ ์๋ค.
[์ฐธ๊ณ ]