๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Frontend Dev/๐Ÿฅ ์ฝ”๋“œ์Šคํ…Œ์ด์ธ  FE ๋ถ€ํŠธ์บ ํ”„

Section3 Unit7 [Backend] ์ธ์ฆ / ๋ณด์•ˆ - Cookie/Session

๋ฐ˜์‘ํ˜•


Section3 Unit7 [Backend] ์ธ์ฆ / ๋ณด์•ˆ - Cookie/Session

 

๐Ÿ“Œ Chapter1. Cookie/Session

์›น์—์„œ๋Š” ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ์–ด๋”˜๊ฐ€์— ์ €์žฅํ•ด์•ผ ํ•˜๋Š”๋ฐ HTTP๋Š” ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

• Cookie ์„œ๋ฒ„์— ์˜ํ•ด ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ๋กœ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ์— ์˜์†์„ฑ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. 

์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์€ ๋‹จ์ˆœํžˆ ์„œ๋ฒ„์—์„œ ํด๋ผ์ด์–ธํŠธ์— ์ฟ ํ‚ค๋ฅผ ์ „์†กํ•˜๋Š” ๊ฒƒ๋งŒ ์˜๋ฏธํ•˜์ง€ ์•Š๊ณ , ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ์ฟ ํ‚ค๋ฅผ ๋‹ค์‹œ ์ „์†กํ•˜๋Š” ๊ฒƒ๋„ ํฌํ•จ๋œ๋‹ค.

์ฟ ํ‚ค๋Š” ๋กœ๊ทธ์ธ ์ƒํƒœ ์œ ์ง€, ํ…Œ๋งˆ ์ƒํƒœ ์œ ์ง€ ๋“ฑ ์žฅ์‹œ๊ฐ„ ๋ณด์กดํ•ด์•ผ ํ•˜๋Š” ์ •๋ณด ์ €์žฅ์— ์ ํ•ฉํ•˜๋‹ค.

 ์ฟ ํ‚ค๋Š” ํด๋ผ์ด์–ธํŠธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์˜ ๋ถ€ํ•˜๊ฐ€ ์ค„์–ด๋“ค์ง€๋งŒ, ํƒˆ์ทจ๋œ๋‹ค๋ฉด ๊ฐœ์ธ์ •๋ณด๊ฐ€ ๋…ธ์ถœ๋  ์œ„ํ—˜์ด ์žˆ๋‹ค.

 

• Session ํด๋ผ์ด์–ธํŠธ์˜ ์ƒํƒœ ์ •๋ณด๋ฅผ ์„œ๋ฒ„ ์ธก์— ์ €์žฅํ•ด๋‘” ๊ฒƒ์œผ๋กœ ์„ธ์…˜์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์„œ๋ฒ„์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์˜ ์ด์šฉ์ž๊ฐ€ ๋งค์šฐ ๋งŽ์€ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ๊ฐ™์€ ์ €์žฅ ๊ณต๊ฐ„์˜ ์ผ์ • ๋ถ€๋ถ„์„ ํ•ญ์ƒ ์ฐจ์ง€ํ•˜๊ฒŒ ๋˜๋ฏ€๋กœ ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ์˜ ์–‘์ด ์ค„์–ด๋“ค์–ด ์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

 ๋˜ํ•œ ์„ธ์…˜์€ ๊ธฐ์กด ์ฟ ํ‚ค๋ฅผ ์™„์ „ํžˆ ๋Œ€์ฒดํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ฟ ํ‚ค๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ทจ์•ฝ์ ์„ ๊ทธ๋Œ€๋กœ ๊ฐ€์ง€๊ฒŒ ๋œ๋‹ค. ์ฟ ํ‚ค๋Š” ์•…์˜์ ์ธ ์Šคํฌ๋ฆฝํŠธ ๊ณต๊ฒฉ์ธ XSS๊ณต๊ฒฉ์— ๋งค์šฐ ์ทจ์•ฝํ•˜๊ณ , ์„ธ์…˜ ๋˜ํ•œ ๊ทธ๋Ÿฌํ•˜๋‹ค. ๋งŒ์•ฝ ์„ธ์…˜ ์ฟ ํ‚ค๊ฐ€ ํƒˆ์ทจ๋œ๋‹ค๋ฉด ๊ฐœ์ธ์ •๋ณด ์œ ์ถœ์˜ ์œ„ํ—˜์ด ์—ฌ์ „ํžˆ ์กด์žฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

 

  ์„ค๋ช… ์ ‘์† ์ƒํƒœ ์ €์žฅ ๊ฒฝ๋กœ ์žฅ์   ๋‹จ์ 
Cookie http์˜ statelessํ•œ ๊ฒƒ์„ ๋ณด์™„ํ•ด์ฃผ๋Š” ๋„๊ตฌ ํด๋ผ์ด์–ธํŠธ ์„œ๋ฒ„์— ๋ถ€๋‹ด์„ ๋œ์–ด์คŒ ์ฟ ํ‚ค ๊ทธ ์ž์ฒด๋Š” ์ธ์ฆ์ด ์•„๋‹˜
Session ์ ‘์† ์ƒํƒœ๋ฅผ ์„œ๋ฒ„๊ฐ€ ๊ฐ€์ง(stateful)
์ ‘์† ์ƒํƒœ์™€ ๊ถŒํ•œ ๋ถ€์—ฌ๋ฅผ ์œ„ํ•ด ์„ธ์…˜์•„์ด๋””๋ฅผ ์ฟ ํ‚ค๋กœ ์ „์†ก
์„œ๋ฒ„ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ €์ธ์ง€ ์„œ๋ฒ„์—์„œ ์ถ”๊ฐ€๋กœ ํ™•์ธ ๊ฐ€๋Šฅ ํ•˜๋‚˜์˜ ์„œ๋ฒ„์—์„œ๋งŒ ์ ‘์† ์ƒํƒœ๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ ๋ถ„์‚ฐ์— ๋ถˆ๋ฆฌ

 

 ์ด๋ฒˆ ์ฑ•ํ„ฐ์—์„œ ์ฟ ํ‚ค์™€ ์„ธ์…˜์„ ์„ค์ •ํ•˜๋Š” ํŠœํ† ๋ฆฌ์–ผ๋„ ์ง„ํ–‰ํ–ˆ์—ˆ๋Š”๋ฐ, ์•„์ง ์ž˜ ํŒŒ์•…์ด ์•ˆ๋˜์„œ ๋‚˜์ค‘์— ์ •๋ฆฌ๋ฅผ ๋‹ค์‹œ ํ•œ๋ฒˆ ํ•ด๋ณผ๊นŒ ํ•œ๋‹ค. ์ฟ ํ‚ค์™€ ์„ธ์…˜๋„ ๋‚จ์€ ์ฑ•ํ„ฐ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋ณด์ถฉํ•ด๋ด์•ผ๊ฒ ๋‹ค..!

 


๐ŸŒ™  ์˜ค๋Š˜์˜ ํšŒ๊ณ 

 Section3์˜ ํ•™์Šต์œผ๋กœ๋Š” ๋งˆ์ง€๋ง‰ ์œ ๋‹›์— ๋“ค์–ด์™”๋‹ค. ์ธ์ฆ/๋ณด์•ˆ ์œ ๋‹›์˜ ์ฒซ๋ฒˆ์งธ ๋‹จ๊ณ„๋กœ ์ฟ ํ‚ค์™€ ์„ธ์…˜์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ๋Š”๋ฐ, ์˜คํ›„ Q&A ์„ธ์…˜์˜ ๊ฐ•์‚ฌ๋‹˜์ด ์ด ๋‘˜์€ Token๊ณผ OAuth์˜ ๋ฐœํŒ์ด๊ณ , ์š”์ฆ˜์—๋Š” ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋‹ˆ ๋„ˆ๋ฌด ๋”ฅํ•˜๊ฒŒ ๊ณต๋ถ€ํ•  ํ•„์š”๋Š” ์—†๋‹ค๊ณ  ํ•˜์…จ๋‹ค. ๊ทธ ๋ง์— ํšจ์œจ์ ์œผ๋กœ ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค ์‹ถ์–ด ๋„ˆ๋ฌด ๊นŠ๊ฒŒ ํŒŒ์ง€๋Š” ์•Š์•„์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋Š”๋ฐ, ๊นŠ๊ฒŒ ํŒŒ๊ธฐ๋„ ์ „์— ํŠœํ† ๋ฆฌ์–ผ ๋ถ€ํ„ฐ ์–ด๋ ค์›Œ์„œ ์Œ…๐Ÿฅฒ ํ—ค๋งธ๋‹ค..

 

 ๐Ÿ—“๏ธ 23.7.1 SAT

 ์ด๋ฒˆ ์ฃผ ์ค‘๋ฐ˜๋ถ€ํ„ฐ ๋ชธ์ด ์ข€ ์ข‹์ง€ ์•Š์•˜๋Š”์ง€, ๊ธˆ์š”์ผ ์ˆ˜์—… ๋งˆ์น˜๊ณ  ๊ณต๋ถ€๋Š” ๋”์ด์ƒ ๋ชปํ•  ๊ฒƒ ๊ฐ™์•„์„œ ๋งฅ๋ถ์„ ๋‹ซ์•„๋ฒ„๋ ธ๋‹ค. ๊ธˆ์š”์ผ์„ ๊ทธ๋ ‡๊ฒŒ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ , ํ™•์‹คํžˆ ๋ชธ์ด ์•ˆ์ข‹์€๊ฑธ ๋Š๋ผ๊ณ ๋Š” ํ† ์šœ ์•„์นจ์— ์•ฝ๋จน๊ณ  ์ ์‹ฌ๊นŒ์ง€ ์™„์ „ ํ‘น ์žค๋‹ค. ์ž๊ณ  ์ผ์–ด๋‚˜๋‹ˆ ์™„์ „ ๊ฐœ์šดํ•˜๊ธด ํ–ˆ๋Š”๋ฐ, ์•ฝ๊ธฐ์šด์ด ๋‚จ์•„์žˆ๋Š”์ง€ ๋ชฝ๋กฑํ–ˆ๋‹ค. ์ปจ๋””์…˜ ์กฐ์ ˆ๊ณผ ๋ชธ๊ด€๋ฆฌ๊ฐ€ ์ •๋ง ์ค‘์š”ํ•˜๊ตฌ๋‚˜, ๋˜ํ•œ๋ฒˆ ๋Š๊ผˆ๋‹ค. ํœด.. ํ• ๊ฑด ์ •๋ง ๋„ˆ๋ฌด ๋งŽ์€๊ฒƒ ๊ฐ™์€๋ฐ..ใ… 

๋ฐ˜์‘ํ˜•