[๋„คํŠธ์›Œํฌ] ์ฟ ํ‚ค ๋ฐฉ์‹๊ณผ ์„ธ์…˜ ๋ฐฉ์‹์„ ๊ณ ๋ฏผํ•˜๋Š” ์ด์œ  + ๋ธŒ๋ผ์šฐ์ € ๊ฐ„ ์ฟ ํ‚ค ๊ณต์œ 

์ฟ ํ‚ค ๋ฐฉ์‹๊ณผ ์„ธ์…˜ ๋ฐฉ์‹์„ ๊ณ ๋ฏผํ•˜๋Š” ์ด์œ  ์ฟ ํ‚ค ๋ฐฉ์‹- ํด๋ผ์ด์–ธํŠธ์— ์ €์žฅ๋˜๋ฏ€๋กœ ์ƒ๋Œ€์ ์œผ๋กœ ์ทจ์•ฝํ•จ- ์ €์žฅ ์œ„์น˜ : ํด๋ผ์ด์–ธํŠธ (๋ธŒ๋ผ์šฐ์ €)- ์šฉ๋Ÿ‰ ์ œํ•œ : ์•ฝ 4KB- ํ™•์žฅ์„ฑ : ์„œ๋ฒ„ ๋ฌด๊ด€(ํด๋ผ์ด์–ธํŠธ ์ €์žฅ) -> ํ™•์žฅ์„ฑ ์ข‹์Œ- ์†๋„ : ์„œ๋ฒ„ ๋ถ€๋‹ด ์ ๊ณ , ๋น ๋ฆ„ - ์„ธ์…˜ ์œ ์ง€ : ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅ๋˜๋ฏ€๋กœ ์˜ค๋ž˜ ์œ ์ง€ ๊ฐ€๋Šฅ- ์‹ค์ œ ํ™œ์šฉ : JWT ๊ธฐ๋ฐ˜ ํ† ํฐ ์ธ์ฆ ๋“ฑ ์„ธ์…˜ ๋ฐฉ์‹ - ์„œ๋ฒ„์— ์ €์žฅ๋˜์–ด ๋ณด์•ˆ์„ฑ์ด ๋†’์Œ- ์ €์žฅ์œ„์น˜ : ์„œ๋ฒ„ - ์šฉ๋Ÿ‰ ์ œํ•œ : ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ๋‚˜ ์ €์žฅ์†Œ ์šฉ๋Ÿ‰๋งŒํผ- ํ™•์žฅ์„ฑ : ์„œ๋ฒ„ ์ €์žฅ -> ์„œ๋ฒ„ ๊ฐ„ ์„ธ์…˜ ๊ณต์œ  ํ•„์š” - ์†๋„ : ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ, ๋А๋ฆด ์ˆ˜ ์žˆ์Œ - ์„ธ์…˜ ์œ ์ง€ : ์ผ๋ฐ˜์ ์œผ๋กœ ์ผ์ • ์‹œ๊ฐ„ ํ›„ ๋งŒ๋ฃŒ๋จ- ์‹ค์ œ ํ™œ์šฉ : ๋กœ๊ทธ์ธ ์ƒํƒœ ์œ ์ง€ ๋“ฑ ์ง„์งœ ์ค‘์š”ํ•˜๊ฒŒ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ๋ถ€๋ถ„์€ 1. ๋กœ๊ทธ์ธ ์ƒํƒœ๋ฅผ ์œ ์ง€..

CS/๋„คํŠธ์›Œํฌ๐Ÿ•Š 2025. 7. 19. 11:25

[์€ผ] ์•„ ๊ทธ๋ž˜์„œ CORS๊ฐ€ ๋ญ์—์š” : ๊ฐœ๋… + ์„ค์ •์˜ˆ์‹œ

(๊ฐœ๋…๊ณผ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ์ •ํ™•ํžˆ ๋ชฐ๋ผ์„œ) ์ˆ˜๋งŽ์€ ์–ต๊นŒ๋ฅผ ๋‹นํ–ˆ๊ณ ๊ตฌ๊ธ€๋ง์œผ๋กœ Mdn ๋ฌธ์„œ๋ฅผ ์ฐพ์•„ ์ดํ•ดํ•œ ํ›„ ํ•ด๊ฒฐํ•จ (์—ญ์‹œ ์ •์‹๋Œ€๋กœ ๊ฐ€์•ผ ํ•จ)๋ฐœ๊ฒฌํ–ˆ๋˜ cors ํ•ต์‹ฌ ๊ฐœ๋…์„ ์ ์–ด๋ณด๊ณ ์ž ํ•œ๋‹ค CORSCORS๋Š” ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ž์‹ ์˜ ์ถœ์ฒ˜๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์–ด๋–ค ์ถœ์ฒ˜๋กœ๋ถ€ํ„ฐ ์ž์›์„ ๋กœ๋”ฉํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๋„๋ก ์„œ๋ฒ„๊ฐ€ ํ—ˆ๊ฐ€ ํ•ด์ฃผ๋Š” HTTP ํ—ค๋” ๊ธฐ๋ฐ˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด๋‹ค.   CORS๊ฐ€ ๋™์ž‘ํ•˜๋Š” ์„ธ๊ฐ€์ง€ ์‹œ๋‚˜๋ฆฌ์˜ค 1. Simple RequestPreflight Request ์š”์ฒญ์—†์ด ์„œ๋ฒ„์— ์งํ–‰์œผ๋กœ ๋ณธ ์š”์ฒญ์„ ๋ณด๋‚ธ ํ›„, ์„œ๋ฒ„๊ฐ€ ์ด์— ๋Œ€ํ•œ ์‘๋‹ต์˜ ํ—ค๋”์— Access-Control-Allow-Origin ํ—ค๋”๋ฅผ ๋ณด๋‚ด์ฃผ๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ CORS ์ •์ฑ… ์œ„๋ฐ˜ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌํ•œ๋‹ค. 1) ์š”์ฒญ์˜ ๋ฉ”์†Œ๋“œ๋Š” GET, HEAD, POST ์ค‘ ํ•˜๋‚˜๋‹ค 2) Accept, Ac..

CS/๋„คํŠธ์›Œํฌ๐Ÿ•Š 2025. 2. 14. 11:49

[์ฟ ํ‚ค๐Ÿช] ์„œ๋“œํŒŒํ‹ฐ์ฟ ํ‚ค, ๊ณต๊ฒฉ์œ ํ˜•(์ค‘๊ฐ„์ž๊ณต๊ฒฉ, XSS, CSRF)

Thrid-Party Cookie- ๋„๋ฉ”์ธ๊ณผ ์Šคํ‚ค๋งˆ๊ฐ€ ๋‹ค๋ฅด๋ฉด, ๊ฐ™์€ ์‚ฌ์ดํŠธ์—์„œ ์˜ค์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•˜๊ณ  ์ด๋ฅผ ํƒ€์‚ฌ ์ฟ ํ‚ค๋ผ๊ณ  ํ•œ๋‹ค. - ๋„๋ฉ”์ธ๊ณผ ์Šคํ‚ค๋งˆ๊ฐ€ ์‚ฌ์šฉ์ž๊ฐ€ ํ˜„์žฌ ๋ณด๊ณ  ์žˆ๋Š” ๋ธŒ๋ผ์šฐ์ € ์ฃผ์†Œ์ฐฝ์— ํ‘œ์‹œ๋œ URL๊ณผ ์ผ์น˜ํ•˜๋ฉด, ์ฟ ํ‚ค๋Š” ํŽ˜์ด์ง€์™€ ๋™์ผํ•œ ์‚ฌ์ดํŠธ์—์„œ ์˜จ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ฉฐ ์ด๋ฅผ First-Party Cookie ๋ผ๊ณ  ํ•œ๋‹ค. Thrid Party Cookie ์ „์†ก ์˜ˆ์‹œ- ํ•œ ์‚ฌ์ดํŠธ์˜ ๋งํฌ๋ฅผ ํด๋ฆญํ•˜์—ฌ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝ์šฐ- ํŽ˜์ด์ง€๊ฐ€ ๋‹ค๋ฅธ ์‚ฌ์ดํŠธ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์ž„๋ฒ ๋“œํ•˜๋Š” ๊ฒฝ์šฐ ์ค‘๊ฐ„์ž ๊ณต๊ฒฉ์š”์ฒญ์„ ์ค‘๊ฐ„์—์„œ ๊ฐ€๋กœ์ฑ„์…” ๋ณ€์กฐํ•˜์—ฌ ์ „๋‹ฌํ•˜๋Š” ๊ณต๊ฒฉ https://developer.mozilla.org/en-US/docs/Glossary/MitM MitM - MDN Web Docs Glossary: Definiti..

CS/๋„คํŠธ์›Œํฌ๐Ÿ•Š 2025. 2. 14. 09:41

[์ฟ ํ‚ค๐Ÿช] SameSite, Path, Domain ์™€ Request.credentials

์ฟ ํ‚คHTTP ํ”„๋กœํ† ์ฝœ์ด ๋ฌด์ƒํƒœ์ธ ๊ฒƒ์„ ๋ณด์™„ํ•˜์—ฌ ์„ธ์…˜ ๊ด€๋ฆฌ, ๊ฐœ์ธํ™”, ์ถ”์ ์˜ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ์ด๋‹ค๋„๋ฉ”์ธ๋‹น ์ตœ๋Œ€ ์ฟ ํ‚ค ์ˆ˜์™€ ์ฟ ํ‚ค๋‹น ์ตœ๋Œ€ ํฌ๊ธฐ๋ฅผ ์ œํ•œํ•˜๊ณ  ์žˆ๋‹ค ์ฟ ํ‚ค ์ƒ์„ฑSet-Cookie : =Set-Cookie : =... ์ฟ ํ‚ค ์ œ๊ฑฐ- ์˜๊ตฌ์ฟ ํ‚ค : Expires, Max-Age ์†์„ฑ ์„ค์ •์— ๋”ฐ๋ผ ๋งŒ๋ฃŒ์ผ์ด ๊ฒฐ์ •๋œ๋‹ค - ์„ธ์…˜์ฟ ํ‚ค : Expires, Max-Age ๋Š” ํ˜„์žฌ ์„ธ์…˜์ด ์ข…๋ฃŒ๋˜๋ฉด ์‚ญ์ œ๋œ๋‹ค ์ฟ ํ‚ค ๋ณด์•ˆ๊ณผ ์ •์ฑ…๋ณด์•ˆ์ ์ธ ์ด์œ ๋กœ ๋ธŒ๋ผ์šฐ์ €๋Š” ์ฟ ํ‚ค๋ฅผ ์–ด๋–ป๊ฒŒ ์ €์žฅํ•˜๊ณ , ์–ธ์ œ ์ „์†กํ• ์ง€์— ๋Œ€ํ•œ ์ •์ฑ…์„ ์—„๊ฒฉํ•˜๊ฒŒ ๊ด€๋ฆฌํ•œ๋‹ค.๊ต์ฐจ ์‚ฌ์ดํŠธ ์š”์ฒญ์ด ์žˆ์„ ๋•Œ ์ฟ ํ‚ค๊ฐ€ ์ž๋™์œผ๋กœ ์ „์†ก๋˜์ง€ ์•Š๋„๋ก ์ œํ•œ์„ ๋‘๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•œ๋‹ค.SameSite, Secure, Path, Domain ๋“ฑ์˜ ์ฟ ํ‚ค ์†์„ฑ์€ ๊ต์ฐจ ์‚ฌ์ดํŠธ ์š”์ฒญ์—์„œ ..

CS/๋„คํŠธ์›Œํฌ๐Ÿ•Š 2025. 2. 11. 17:12

๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ vs ๋น„๋™๊ธฐ

๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ๊ณผ ๋น„๋™๊ธฐ๋Š” ๋ชจ๋‘ ๋ณ‘๋ ฌ์„ฑ๊ณผ ๋™์‹œ์„ฑ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋…์ด๋‹ค.์ž‘๋™ ๋ฐฉ์‹, ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ (Multithreading)๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ์€ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ณ‘๋ ฌ๋กœ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.๊ฐ ์Šค๋ ˆ๋“œ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๋ฉฐ, ์„œ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•œ๋‹ค.์ž‘๋™ ๋ฐฉ์‹CPU์˜ ์ฝ”์–ด๊ฐ€ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ๋ฅผ ๋ฒˆ๊ฐˆ์•„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ ์ฝ”์–ด์—์„œ ๋™์‹œ์— ์Šค๋ ˆ๋“œ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ๋ณ‘๋ ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.์Šค๋ ˆ๋“œ ๊ฐ„์˜ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ(์ž‘์—… ์ „ํ™˜)์ด ๋ฐœ์ƒํ•˜๋ฏ€๋กœ ์ผ๋ถ€ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.์ฃผ๋กœ CPU ๋ฐ”์šด๋“œ ์ž‘์—…(๊ณ„์‚ฐ๋Ÿ‰์ด ๋งŽ์€ ์ž‘์—…)์— ์ ํ•ฉํ•˜๋‹ค. ์‚ฌ์šฉ ์˜ˆ์‹œ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ (์˜ˆ: ๋ฐ์ดํ„ฐ ๋ถ„์„, ์ด๋ฏธ์ง€ ๋ Œ๋”๋ง).์„œ๋ฒ„์—์„œ ๋™์‹œ์— ์—ฌ๋Ÿฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๋•Œ(์Šค๋ ˆ๋“œ ํ’€ ๋ฐฉ์‹). ์žฅ์ CPU ์ฝ”์–ด๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜..

CS/์šด์˜์ฒด์ œ๐Ÿฃ 2024. 12. 26. 10:39

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] DB์—์„œ FK ์„ค์ • ํ•˜์ง€ ์•Š๋Š” ์ด์œ ์™€ ๋ฌด๊ฒฐ์„ฑ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ์•ˆ

FK ์„ค์ •ํ•˜์ง€ ์•Š๋Š” ์ด์œ 1. ์„ฑ๋Šฅ์ƒ์˜ ์ด์œ INSERT / UPDATE ์„ฑ๋Šฅ ์ €ํ•˜FK ์ œ์•ฝ ์กฐ๊ฑด์„ ์„ค์ •ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ด€๋ จ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ญ์ƒ ํ™•์ธํ•ด์•ผ ํ•˜๋ฏ€๋กœ๋ฐ์ดํ„ฐ ์‚ฝ์ž…(insert)์ด๋‚˜ ๊ฐฑ์‹ (update) ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๊ฐ€ ์ผ์–ด๋‚˜๋Š” ๊ฒฝ์šฐ FK๋กœ ์ธํ•œ ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์‚ฌ ๋•Œ๋ฌธ์— ์ฒ˜๋ฆฌ ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค.  2. ๋ณต์žกํ•œ ์ฐธ์กฐ ๊ด€๊ณ„์™€ ์œ ์—ฐ์„ฑ ๋ถ€์กฑ FK๊ฐ€ ๋งŽ์€ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ์„ค๊ณ„๊ฐ€ ๋ณต์žกํ•ด์ง€๊ณ , ์ด๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ํ™•์žฅํ•  ๋•Œ ์–ด๋ ค์›€์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.์˜ˆ๋ฅผ ๋“ค์–ด, ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๋ ค๋ฉด ๋ถ€๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ธฐ ์ „์— ์ž์‹ ๋ฐ์ดํ„ฐ๋ฅผ ๋จผ์ € ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค. ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๊ฐ€ ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ํ™•์žฅ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ, FK๋Š” ๋ถˆํ•„์š”ํ•œ ์ œ์•ฝ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.   FK๋กœ ์ธ..

CS/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๐Ÿ’ฟ 2024. 12. 26. 10:10

[์ž๋ฃŒ๊ตฌ์กฐ] ์ด์ง„ ํŠธ๋ฆฌ ํƒ์ƒ‰ ๋ฐฉ๋ฒ• : ์ „์œ„ ์ค‘์œ„ ํ›„์œ„ ์ˆœ์œ„, ๋ ˆ๋ฒจ ์ˆœ์œ„

1      /   \     2     3    / \   / \   4   5 6   7์ „์œ„ ์ˆœ์œ„(Preorder Traversal)๋ฃจํŠธ > ์™ผ์ชฝ > ์˜ค๋ฅธ์ชฝ 1. ํ˜„์žฌ ๋…ธ๋“œ ๋ฐฉ๋ฌธ2. ์™ผ์ชฝ ์„œ๋ธŒ ํŠธ๋ฆฌ ๋ฐฉ๋ฌธ3. ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ฐฉ๋ฌธ ์ „์œ„ ์ˆœํšŒ ๊ฒฐ๊ณผ: 1 → 2 → 4 → 5 → 3 → 6 → 7 ์ค‘์œ„ ์ˆœ์œ„ (Inorder Traversal)์™ผ์ชฝ > ๋ฃจํŠธ > ์˜ค๋ฅธ์ชฝ  1. ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ฐฉ๋ฌธ2. ํ˜„์žฌ ๋…ธ๋“œ ๋ฐฉ๋ฌธ3. ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ฐฉ๋ฌธ ์ค‘์œ„ ์ˆœํšŒ ๊ฒฐ๊ณผ: 4 → 2 → 5 → 1 → 6 → 3 → 7 ํ›„์œ„ ์ˆœํšŒ (Postorder Traversal)์™ผ์ชฝ > ์˜ค๋ฅธ์ชฝ > ๋ฃจํŠธ 1. ์™ผ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ฐฉ๋ฌธ2. ์˜ค๋ฅธ์ชฝ ์„œ๋ธŒํŠธ๋ฆฌ ๋ฐฉ๋ฌธ3. ํ˜„์žฌ ๋…ธ๋“œ ๋ฐฉ๋ฌธ ํ›„์œ„ ์ˆœํšŒ ๊ฒฐ๊ณผ: 4 → 5 → 2 → 6 → 7 → 3 → 1  ..

CS/์ž๋ฃŒ๊ตฌ์กฐ 2024. 12. 26. 09:28

ํŽ˜์ด์ง•

728x90