๐Ÿš€
Growth log
  • About me
  • I LEARNED
    • General
      • ๊ฐœ๋ฐœ์ž ๊ฟ€ํŒ
      • ๊ทธ๋กœ์Šคํ•ดํ‚น ๊ธฐ์ดˆ
      • ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋„๋ฉ”์ธ ์ง€์‹์€ ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ• ๊นŒ?
      • DTO ๋…ผ์Ÿ์— ๋Œ€ํ•˜์—ฌ
      • MSA๋ž€?
    • Seminar
      • ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€ 100% - SLASH 21
      • TDD๊ฐ€ ์‹คํŒจํ•˜๋Š” ์ด์œ  - by ์ด๊ทœ์›๋‹˜
      • ๋Œ€๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ํŠœ๋‹ ๋…ธํ•˜์šฐ ๋‹ค ์•Œ๋ ค ๋“œ๋ฆผ|๋ผ์ธ๊ฐœ๋ฐœ์‹ค๋ก
      • ๊ฒฐ์ œ ์‹œ์Šคํ…œ์˜ SDK์™€ API ๋””์ž์ธ - SLASH 21
    • Web
      • SOP์™€ CORS
    • Spring & OOP
      • DTO vs VO
    • Ruby On Rails
      • Rails lib ๋””๋ ‰ํ† ๋ฆฌ์— ๋Œ€ํ•˜์—ฌ
      • Rails์˜ concerns๋ž€?
      • Rails์—์„œ์˜ GC ์ž‘๋™์›๋ฆฌ
      • Eager loading vs Lazy loading
      • Rails ํ™˜๊ฒฝ ๊ตฌ์„ฑ
      • ActionCable
      • ๐Ÿ“”Perfect ruby on rails
        • MVC ํŒจํ„ด์ธ Rails
        • Ruby on Rails ๊ธฐ๋ณธ - ์ปจํŠธ๋กค๋Ÿฌ
        • Ruby on Rails ๊ธฐ๋ณธ - ๋ทฐ
        • Ruby on Rails ๊ธฐ๋ณธ - ๋ชจ๋ธ
        • ์Šค์บํด๋”ฉ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ Rails ๊ฐœ๋ฐœ ๊ธฐ์ดˆ
        • ๋ทฐ ๊ฐœ๋ฐœ
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ๋‚™๊ด€์  ๋™์‹œ ์‹คํ–‰ ์ œ์–ด
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๊ตฌํ˜„
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - Association
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ์ฝœ๋ฐฑ
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜
        • ๋ชจ๋ธ ๊ฐœ๋ฐœ - ๋ฐ์ดํ„ฐ ์ดˆ๊ธฐํ™”
        • ์ปจํŠธ๋กค๋Ÿฌ ๊ฐœ๋ฐœ - ์š”์ฒญ ์ •๋ณด ์ถ”์ถœ
        • ์ปจํŠธ๋กค๋Ÿฌ ๊ฐœ๋ฐœ - ์‘๋‹ต
        • ์ปจํŠธ๋กค๋Ÿฌ ๊ฐœ๋ฐœ - ์ƒํƒœ ๊ด€๋ฆฌ
        • ๋ผ์šฐํŒ… - RESTful
        • ๋ผ์šฐํŒ… - RESTful ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‚ฌ์šฉ์ž ์ •์˜ํ™”
        • ๋ผ์šฐํŒ… - RESTful ํ•˜์ง€ ์•Š์€ ๋ผ์šฐํŠธ ์ •์˜
        • ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ - ์ค€๋น„
        • ํ…Œ์ŠคํŠธ - Unit ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ - Functional ํ…Œ์ŠคํŠธ
        • ํ…Œ์ŠคํŠธ - Integration ํ…Œ์ŠคํŠธ
        • ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ - Sprockets vs Webpacker
        • ํด๋ผ์ด์–ธํŠธ ๊ฐœ๋ฐœ - Sprockets
    • Node.js & Express
      • ๊ธฐ๋ณธ ๊ฐœ๋…
      • npx
    • Programing Language
      • Java
        • JavaDoc์— ๋Œ€ํ•ด
        • invocation์— ๋Œ€ํ•ด์„œ
        • ์–ด๋…ธํ…Œ์ด์…˜
        • ์ถ”์ƒํด๋ž˜์Šค & ์ธํ„ฐํŽ˜์ด์Šค
        • Package
        • ์˜ค๋ฒ„๋กœ๋”ฉ vs ์˜ค๋ฒ„๋ผ์ด๋”ฉ
      • Javascript
        • TCP School ํ›‘์–ด๋ณด๊ธฐ
          • ํƒ€์ž…
          • ํ˜• ๋ณ€ํ™˜
          • ๋ณ€์ˆ˜
          • ์—ฐ์‚ฐ์ž
          • ๋ฐ˜๋ณต๋ฌธ
          • ๋ฐฐ์—ด(array)
          • ํ•จ์ˆ˜
          • ํ•จ์ˆ˜ - ์Šค์ฝ”ํ”„์™€ ํ˜ธ์ด์ŠคํŒ…
          • ํ•จ์ˆ˜ - ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜
          • ํ•จ์ˆ˜ - ๋ฏธ๋ฆฌ ์ •์˜๋œ ์ „์—ญ ํ•จ์ˆ˜
          • ๊ฐ์ฒด
          • ํ”„๋กœํ† ํƒ€์ž…
          • DOM
          • BOM - Window ๊ฐ์ฒด
          • ์ด๋ฒคํŠธ(event)
      • Ruby
        • ๐Ÿ“”ํผํŽ™ํŠธ ๋ฃจ๋น„
    • DB
      • Redis
        • Redis ๊ฐœ์š”
      • Index(์ธ๋ฑ์Šค)?
      • DB Transaction & Lock
      • ๋™์‹œ์„ฑ ์ œ์–ด์— ๊ด€ํ•˜์—ฌ
      • Lock(์ž ๊ธˆ)์ด๋ž€?
      • ActiveRecord lock vs with_lock
      • Table lock vs Row lock
      • WHERE 1=1 ๊ตฌ๋ฌธ์— ๋Œ€ํ•˜์—ฌ
      • COUNT(*) vs COUNT(indexed column)
      • ๐Ÿ“•๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹ค์ „์ž…๋ฌธ
      • ๐Ÿ“”SQL ์ฒซ๊ฑธ์Œ
      • ๐Ÿ“”๋ชจ๋‘์˜ SQL
    • Design Patterns
      • Observer pattern
      • Flyweight pattern
      • Singleton pattern
    • OOP
      • ๐Ÿ“”์˜ค๋ธŒ์ ํŠธ
        • 6์žฅ ๋ฉ”์‹œ์ง€์™€ ์ธํ„ฐํŽ˜์ด์Šค
      • ํด๋ž˜์Šค๊ฐ„ ๊ด€๊ณ„ ๊ฐ„๋‹จ ์ •๋ฆฌ
    • Regex
    • Collaboration
      • Git
      • Sourcetree
  • DAILY REVIEW
    • 2021
      • August
        • 2021-08-25(Wed)
        • 2021-08-23(Mon)
        • 2021-08-11(Wed)
        • 2021-08-04(Wed)
        • 2021-08-03(Tue)
        • 2021-08-02(Mon)
      • July
        • 2021-07-29(Thu)
        • 2021-07-26(Mon)
        • 2021-07-23(Fri)
        • 2021-07-22(Thu)
        • 2021-07-21(Wed)
        • 2021-07-20(Tue)
        • 2021-07-19(Mon)
        • 2021-07-15(Thu)
        • 2021-07-14(Wed)
        • 2021-07-13(Tue)
        • 2021-07-12(Mon)
      • June
        • 2021-06-05(Sat)
        • 2021-06-04(Fri)
        • 2021-06-03(Thu)
        • 2021-06-02(Wed)
        • 2021-06-01(Tue)
      • May
        • 2021-05-31(Mon)
        • 2021-05-29(Sat)
        • 2021-05-28(Fri)
        • 2021-05-27(Thu)
        • 2021-05-26(Wed)
        • 2021-05-25(Tue)
        • 2021-05-24(Mon)
        • 2021-05-22(Sat)
        • 2021-05-21(Fri)
        • 2021-05-20(Thu)
        • 2021-05-19(Wed)
        • 2021-05-18(Tue)
        • 2021-05-17(Mon)
        • 2021-05-15(Sat)
        • 2021-05-13(Thu)
        • 2021-05-12(Wed)
        • 2021-05-11(Tue)
        • 2021-05-10(Mon)
        • 2021-05-03(Mon)
      • April
        • 2021-04-30(Fri)
        • 2021-04-29(Thu)
        • 2021-04-28(Wed)
        • 2021-04-27(Tue)
        • 2021-04-26(Mon)
        • 2021-04-24(Sat)
        • 2021-04-23(Fri)
        • 2021-04-21(Wed)
        • 2021-04-20(Tue)
        • 2021-04-19(Mon)
        • 2021-04-18(Sun)
        • 2021-04-16(Fri)
        • 2021-04-15(Thu)
        • 2021-04-14(Wed)
        • 2021-04-12(Mon)
        • 2021-04-11(Sun)
        • 2021-04-09(Fri)
        • 2021-04-08(Thu)
        • 2021-04-06(Tue)
        • 2021-04-05(Mon)
        • 2021-04-04(Sun)
        • 2021-04-03(Sat)
        • 2021-04-02(Fri)
        • 2021-04-01(Thu)
      • March
        • 2021-03-29(Mon)
        • 2021-03-28(Sun)
        • 2021-03-26(Fri)
        • 2021-03-25(Thu)
        • 2021-03-24(Wed)
        • 2021-03-23(Tue)
        • 2021-03-22(Mon)
        • 2021-03-21(Sun)
        • 2021-03-20(Sat)
        • 2021-03-17(Wed)
        • 2021-03-16(Tue)
        • 2021-03-15(Mon)
        • 2021-03-12(Fri)
        • 2021-03-11(Thu)
        • 2021-03-10(Wed)
        • 2021-03-09(Tue)
        • 2021-03-08(Mon)
        • 2021-03-07(Sun)
        • 2021-03-05(Fri)
        • 2021-03-03(Wed)
        • 2021-03-02(Tue)
        • 2021-03-01(Mon)
      • Feb
        • 2021-02-26(Fri)
        • 2021-02-25(Thu)
        • 2021-02-24(Wed)
        • 2021-02-23(Tue)
        • 2021-02-22(Mon)
        • 2021-02-19(Fri)
        • 2021-02-18(Thu)
        • 2021-02-17(Wed)
        • 2021-02-16(Tue)
        • 2021-02-15(Mon)
        • 2021-02-14(Sun)
        • 2021-02-13(Sat)
        • 2021-02-12(Fri)
        • 2021-02-10(Wed)
        • 2021-02-09(Tue)
        • 2021-02-08(Mon)
        • 2021-02-07(Sun)
        • 2021-02-05(Fri)
        • 2021-02-03(Wed)
        • 2021-02-02(Tue)
        • 2021-02-01(Mon)
      • Jan
        • 2021-01-29(Fri)
        • 2021-01-28(Thu)
        • 2021-01-27(Wed)
        • 2021-01-26(Tue)
        • 2021-01-25(Mon)
        • 2021-01-23(Sat)
        • 2021-01-22(Fri)
        • 2021-01-20(Wed)
        • 2021-01-19(Tue)
        • 2021-01-18(Mon)
        • 2021-01-12(Tue)
        • 2020-01-11(Mon)
        • 2021-01-08(Fri)
        • 2021-01-07(Thu)
        • 2021-01-06(Wed)
        • 2021-01-05(Tue)
        • 2021-01-04(Mon)
        • 2021-01-01(Fri)
    • 2020
      • Dec
        • 2020-12-30(Thu)
        • 2020-12-25(Fri)
        • 2020-12-24(Thu)
        • 2020-12-23(Wed)
        • 2020-12-22(Tue)
        • 2020-12-21(Mon)
        • 2020-12-18 (Fri)
      • Nov
        • 2020-11-30(Mon)
        • 2020-11-28(Sat)
        • 2020-11-26(Thu)
        • 2020-11-25(Wed)
        • 2020-11-24(Tue)
        • 2020-11-23(Mon)
        • 2020-11-22(Sun)
        • 2020-11-20(Fri)
        • 2020-11-19(Thu)
        • 2020-11-18(Wed)
        • 2020-11-17(Tue)
        • 2020-11-14(Sat)
        • 2020-11-13(Fri)
        • 2020-11-12(Thu)
        • 2020-11-11(Wed)
        • 2020-11-09(Mon)
        • 2020-11-07(Sat)
        • 2020-11-05(Thu)
        • 2020-11-04(Wed)
        • 2020-11-03(Tue)
        • 2020-11-02(Mon)
    • Good article ์•„์นด์ด๋น™
Powered by GitBook
On this page
  • ์ƒ์„ธ ํ•™์Šต ๋‚ด์šฉ
  • ๋“ค์–ด๊ฐ€๋ฉฐ
  • ๋กœ๊ทธ์ธ์€ ๋ฌด์—‡์ผ๊นŒ?
  • ๋‹ค์–‘ํ•œ ์ธ์ฆ ์ˆ˜๋‹จ๋“ค
  • HTTP ํ”„๋กœํ† ์ฝœ์—์„œ ์ธ์ฆ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€?
  • ์ฐธ๊ณ 
  • ํ•™์Šต ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ดํ‰
  • ๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

Was this helpful?

  1. DAILY REVIEW
  2. 2021
  3. April

2021-04-11(Sun)

Previous2021-04-12(Mon)Next2021-04-09(Fri)

Last updated 4 years ago

Was this helpful?

ํ•ญ๋ชฉ

๋‚ด์šฉ

ํ•™์Šต ๋‚ ์งœ

2021-04-11(์ผ)

ํ•™์Šต ์‹œ๊ฐ„

09:00~23:00

ํ•™์Šต ๋ฒ”์œ„ ๋ฐ ์ฃผ์ œ

์ธ์ฆ, ์ธ๊ฐ€

ํ•™์Šต ๋ชฉํ‘œ

์ธ์ฆ๊ณผ ์ธ๊ฐ€์— ๋Œ€ํ•ด์„œ ๊นŠ์ด ํŒŒ๋ณด์ž.

๋™๋ฃŒ ํ•™์Šต ๋ฐฉ๋ฒ•

-

์ƒ์„ธ ํ•™์Šต ๋‚ด์šฉ

๋กœ๊ทธ์ธ์— ๋Œ€ํ•ด์„œ ์• ๋งคํ•œ ๋ถ€๋ถ„๋“ค์„ ๋ชจ์กฐ๋ฆฌ ๋ฉ”๊พธ๊ฒ ๋‹ค๋Š” ๋งˆ์Œ์œผ๋กœ ๋‹ค์‹œ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜์˜€๊ณ , ์•„๋ž˜ ๋‚ด์šฉ์œผ๋กœ ๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ž‘์„ฑํ•˜์˜€๋‹ค.

๋“ค์–ด๊ฐ€๋ฉฐ

๋กœ๊ทธ์ธ์ด ๋ญ”์ง€ ๋‹ตํ•  ์ˆ˜ ์žˆ์–ด? - ์ดํ˜ธ์ค€ ๋ฉ˜ํ† ๋‹˜

์•ˆ๋…•ํ•˜์„ธ์š”! ๋กœ๊ทธ์ธ์— ๋Œ€ํ•ด ๊ถ๊ธˆํ•ด์ง„ ์นด๋Žƒ iwoo์ž…๋‹ˆ๋‹ค.

์‚ฌ์‹ค ๋กœ๊ทธ์ธ ์ž์ฒด๋Š” ํŠธ๋ Œ์„ผ๋”์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉฐ ํŒ” ์ˆ˜ ๋ฐ–์— ์—†์—ˆ๋˜ ์ฃผ์ œ์ด๊ธฐ์— ์–ด๋–ค ๊ฐœ๋…๋“ค์ด ์žˆ๋Š”์ง€๋Š” ์•Œ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ณ„์†๋˜๋Š” ๊ผฌ๋ฆฌ ์งˆ๋ฌธ์œผ๋กœ ๋“ค์–ด๊ฐ€๋ฉด ๋ชจ๋ฅด๋Š” ๋ถ€๋ถ„์ด ์กด์žฌํ•˜๋”๊ตฐ์š”. ๊ฐ€๋ น bcrypt ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ ˆ์ธ๋ณด์šฐ ๊ณต๊ฒฉ์„ ๋ง‰๊ธฐ ์œ„ํ•ด ์†”ํŠธ๋ฅผ ๋„ฃ์–ด๊ฐ€๋ฉฐ ์•”ํ˜ธํ™”ํ•œ๋‹ค๋Š” ๊ฒƒ๊นŒ์ง„ ์•Œ๊ณ  ์žˆ์—ˆ์ง€๋งŒ, ๊ทธ ์†”ํŠธ๊ฐ€ ์–ด๋–ค ์‹์œผ๋กœ ์ƒ์„ฑ๋˜๋Š”์ง€๋Š” ๋ชจ๋ฅด๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

ํ  ์‹œ๊ฐ„ ์—†๋‹ค๊ณ  ๋ฎ์–ด๋’€๋˜ ๊ถ๊ธˆ์ฆ์ด ์˜ฌ๋ผ์˜ค๋„ค์š”, ์ด ์ฐธ์— ๊ทธ๊ฐ„ ๋กœ๊ทธ์ธ์— ๋Œ€ํ•ด์„œ ํŒŒ๋ดค๋˜ ๋‚ด์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค!

๋กœ๊ทธ์ธ์€ ๋ฌด์—‡์ผ๊นŒ?

In , logging in (or logging on, signing in, or signing on) is the process by which an individual gains to a by and themselves. - Wikipedia

๋กœ๊ทธ์ธ์€ ์ž์›์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ์„ ํš๋“ํ•˜๊ธฐ ์œ„ํ•ด ์ธ์ฆ๊ณผ ์ธ๊ฐ€๋ฅผ ๋ฐ›๋Š” ์ ˆ์ฐจ์ž…๋‹ˆ๋‹ค. ๋กœ๊ทธ์ธ์„ ์‰ฝ๊ฒŒ ์ ‘ํ•  ์ˆ˜ ์žˆ๋Š” ์›น ์„œ๋น„์Šค๋ฅผ ์˜ˆ๋กœ ๋“ค์–ด๋ด…์‹œ๋‹ค.

์›น ์„œ๋น„์Šค๋Š” ๋ณดํ†ต ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์ž์›์„ ์š”์ฒญํ•˜๊ณ , ์„œ๋ฒ„๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ์ž์›์„ ์‘๋‹ตํ•˜๋Š” ํ˜•ํƒœ๋กœ ์šด์˜๋ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋‹ค์–‘ํ•˜๊ณ , ๊ฐ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ์ž์›์ด ์ œ๊ฐ๊ฐ ๋‹ค๋ฅด๋‹ค๋ฉด, ์„œ๋ฒ„ ์ž…์žฅ์—์„œ๋Š” ์ž์›์„ ์ ์ ˆํ•˜๊ณ  ์œ ํšจํ•œ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „๋‹ฌํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ด์Šˆ๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ ์„œ๋ฒ„๋Š” ํด๋ผ์ด์–ธํŠธ์˜ ์ž์› ์š”์ฒญ์— ๋Œ€ํ•ด ์ธ์ฆ๊ณผ ์ธ๊ฐ€ ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

  • ์ธ์ฆ(Authentication)

    • ์–ด๋–ค ์ •๋ณด๊ฐ€ ์–ด๋–ค ์ž์—๊ฒŒ ์œ ์ผํ•˜๊ฒŒ ์†ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ™•์ธํ•˜๊ณ  ์ด๋ฅผ ์ฆ๋ช…ํ•˜๋Š” ํ–‰์œ„

    • ex) ID, ํŒจ์Šค์›Œ๋“œ ์ž…๋ ฅ, ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ธ์ฆ, ์ด๋ฉ”์ผ ์ธ์ฆ, ์ง€๋ฌธ ์ธ์ฆ...

  • ์ธ๊ฐ€(Authorization)

    • ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ž์› ์ ‘๊ทผ ๊ถŒํ•œ์„ ํ™•์ธํ•˜๋Š” ๊ณผ์ •

    • ex) ์‹ ์›์ด ํ™•์ธ๋œ ์œ ์ €์˜ ๋ณด์•ˆ ๋ ˆ๋ฒจ์ด ์ž์› ์š”์ฒญ์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธ

๋จผ์ € ์ธ์ฆ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ์ธ์ฆ ์ˆ˜๋‹จ๋“ค

์ธ์ฆ ์ˆ˜๋‹จ์€ ๋‹ค์–‘ํ•˜์ง€๋งŒ, ํฐ ๋ฒ”์ฃผ๋กœ ๋ณด๋ฉด 3๊ฐ€์ง€-์ง€์‹, ์†Œ์œ , ์‹ ์ฒด๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ง€์‹

    • ๋‚ด๊ฐ€ ์•Œ๊ณ  ์žˆ๋Š” ๊ฒƒ

    • ID์™€ ํŒจ์Šค์›Œ๋“œ, ์–ด๋ฆด ์  ๋ณ„๋ช… ๋“ฑ๋“ฑ

    • ๋ถ„์‹ค์˜ ์šฐ๋ ค๋Š” ์—†์ง€๋งŒ '์ถ”์ • ๊ณต๊ฒฉ'์— ์ทจ์•ฝํ•ด์„œ ๋ณด์•ˆ์„ฑ์ด ๋‹ค์†Œ ๋‚ฎ์€ ํŽธ์— ์†ํ•จ.

  2. ์†Œ์œ 

    • ๋‚ด๊ฐ€ ๊ฐ€์ง„ ๊ฒƒ

    • ์ธ์ฆ์„œ, ๋ณด์•ˆ์นด๋“œ, OTP, ํœด๋Œ€ํฐ ์ธ์ฆ๋ฌธ์ž, ์ธ์ฆ ๋ฉ”์ผ ๋“ฑ๋“ฑ

    • ๋ณด์•ˆ์„ฑ์ด ๋†’์ง€๋งŒ ๋ถ„์‹ค์˜ ์œ„ํ—˜์ด ์žˆ์Œ.

  3. ์‹ ์ฒด

    • ์ง€๋ฌธ, ์Œ์„ฑ, ํ™์ฑ„, ์•ˆ๋ฉด ํ˜•ํƒœ, ์‹ฌ๋ฐ•์ˆ˜ ๋“ฑ

    • ๋ณด์•ˆ์„ฑ์ด ๋†’๊ณ  ๋ถ„์‹ค์˜ ์œ„ํ—˜์€ ๋‚ฎ์ง€๋งŒ ์ €์žฅํ•ด ๋‘” ์ •๋ณด๊ฐ€ ์œ ์ถœ๋˜๊ณ  ๋‚˜๋ฉด ๋Œ€์ฒดํ•˜์—ฌ ์ธ์ฆํ•  ์ˆ˜๋‹จ์ด ์—†๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Œ.

๋ณดํ†ต ๊ธˆ์ „ ๊ฑฐ๋ž˜ ๋“ฑ ์‹ฌ๊ฐํ•œ ์ผ์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋Š” ์ธ์ฆ์— ๋Œ€ํ•ด์„œ๋Š” '์ง€์‹'์„ ์ธ์ฆ์ˆ˜๋‹จ์œผ๋กœ ํ•˜์—ฌ 1์ฐจ ์ธ์ฆ๋งŒ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์‹ฌ๊ฐํ•œ ์ผ์ด ์ผ์–ด๋‚  ์†Œ์ง€๊ฐ€ ์žˆ๋‹ค๋ฉด 2 ์š”์†Œ ์ธ์ฆ(Two Factor Authentication, 2FA)์„ ํ•˜๋Š” ํŽธ์ด ๋ณด์•ˆ์ƒ ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค.

2 ์š”์†Œ ์ธ์ฆ์€ ๋‹จ์ˆœํžˆ ์ธ์ฆ ์ ˆ์ฐจ๋ฅผ 2๋ฒˆ ๊ฑฐ์น˜๋Š”๊ฒŒ ์•„๋‹™๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ„๋ฅ˜์˜ ์ธ์ฆ ์ˆ˜๋‹จ์„ 2๊ฐ€์ง€ ์ด์ƒ ๊ฑฐ์ณค์„ ๋•Œ ๋น„๋กœ์†Œ 2 ์š”์†Œ ์ธ์ฆ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ๋ฅผ ๋ณด์‹œ์ฃ !

  • ex 1) ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ฆํ•˜๊ณ  ๋‚˜์„œ ์–ด๋ฆด์  ๋ณ„๋ช…์„ ๊ฒ€์ฆํ–ˆ๋‹ค๋ฉด? -> ์ธ์ฆ ์ˆ˜๋‹จ์œผ๋กœ '์ง€์‹'์„ 2๋ฒˆ ํ™œ์šฉํ–ˆ์œผ๋ฏ€๋กœ 2 ์š”์†Œ ์ธ์ฆ์ด๋ผ ํ•  ์ˆ˜ ์—†์Œ.

  • ex 2) ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ฆํ•˜๊ณ  ๋‚˜์„œ ํœด๋Œ€ํฐ์œผ๋กœ ๋ณด๋‚ธ SMS ์ธ์ฆ๋ฒˆํ˜ธ๋ฅผ ๊ฒ€์ฆํ–ˆ๋‹ค๋ฉด? -> '์ง€์‹'๊ณผ '์†Œ์œ '๋ฅผ ์ฐจ๋ก€๋กœ ํ™œ์šฉํ–ˆ์œผ๋ฏ€๋กœ 2 ์š”์†Œ ์ธ์ฆ์ด๋ผ ํ•  ์ˆ˜ ์žˆ์Œ.

์‹ค์ œ๋กœ ์ œ๊ฐ€ ์ง„ํ–‰ํ–ˆ๋˜ ํŠธ๋ Œ์„ผ๋˜์Šค ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์•„์ด๋””/๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฒ€์ฆ ์™ธ์— ์ด๋ฉ”์ผ ์ธ์ฆ๋ฒˆํ˜ธ ๊ฒ€์ฆ์„ ํ†ตํ•ด '2 factor authentication'์„ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

HTTP ํ”„๋กœํ† ์ฝœ์—์„œ ์ธ์ฆ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์€?

์ธ์ฆ์„ ๊ตฌํ˜„ํ•ด๋‚ด๋”๋ผ๋„ ์›น ์„œ๋น„์Šค์—์„œ๋Š” ๊ณ ๋ คํ•ด์•ผํ•  ๋ฌธ์ œ๊ฐ€ ๋” ์žˆ์Šต๋‹ˆ๋‹ค.

์›น ์„œ๋น„์Šค์— ์ฃผ๋กœ ์“ฐ์ด๋Š” HTTP ํ”„๋กœํ† ์ฝœ์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์š”์ฒญ์— ๋Œ€ํ•ด ์‘๋‹ต์„ ๋ฐ›์œผ๋ฉด ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๊ณ (connectionless), ํ†ต์‹ ์ด ์ข…๋ฃŒ๋˜๋ฉด ์–ด๋– ํ•œ ์ƒํƒœ ์ •๋ณด๋„ ๋‚จ์ง€ ์•Š์Šต๋‹ˆ๋‹ค(stateless). ๋”ฐ๋ผ์„œ ๋”ฐ๋กœ ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ์„œ๋ฒ„ ์ž…์žฅ์—์„œ๋Š” ์ž์›์„ ์š”์ฒญํ•œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ด๋ฏธ ์ธ์ฆ์„ ๊ฑฐ์ณค๋Š”์ง€ ํ™•์ธํ•  ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋งค ์ž์›์„ ์š”์ฒญํ•  ๋•Œ๋งˆ๋‹ค ์ธ์ฆ์„ ๋ฐ˜๋ณตํ•ด์•ผํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋กœ ์ธํ•ด 1) ํด๋ผ์ด์–ธํŠธ ์ž…์žฅ์—์„œ๋Š” ํ•ต ๊ท€์ฐฎ์„ ์ˆ˜ ์žˆ๊ณ (UX ๋ฌธ์ œ) 2) ์„œ๋ฒ„ ์ž…์žฅ์—์„œ๋„ ๊ณผ๋„ํ•œ ์ธ์ฆ์„ ์œ„ํ•ด ์ž์›์„ ์จ์•ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋น„ํšจ์œจ ๋ฌธ์ œ).

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์œผ๋กœ ์ฟ ํ‚ค์™€ ์„ธ์…˜์„ ์‚ฌ์šฉํ•œ ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ์ธ์ฆ๋ฐฉ์‹๊ณผ ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ๋ฐฉ์‹์„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฟ ํ‚ค(Cookie)

  • ์ฟ ํ‚ค๋Š” ์›น ๋ธŒ๋ผ์šฐ์ € ๋˜๋Š” ๋กœ์ปฌ ๋””์Šคํฌ์— ํ‚ค-๊ฐ’ ํ˜•ํƒœ๋กœ ์ €์žฅ๋˜๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค.

  • ์„œ๋ฒ„๋Š” Set-Cookie ์‘๋‹ต ํ—ค๋”๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ ์ธก ๋ธŒ๋ผ์šฐ์ € ๋กœ์ปฌ์— ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๋ผ๊ณ  ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (๋งŒ๋ฃŒ๊ธฐ๊ฐ„, ๋„๋ฉ”์ธ ๋“ฑ ์˜ต์…˜ ์„ค์ • ๊ฐ€๋Šฅ)

  • ์ฟ ํ‚ค๋ฅผ ์ธ์ฆ ์ƒํƒœ ์œ ์ง€์— ํ™œ์šฉํ•  ๋•Œ๋Š” ์•„๋ž˜ ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

    1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๊ทธ์ธํ•˜๋ฉฐ ์ธ์ฆ ์ •๋ณด๋ฅผ ์š”์ฒญ ํ—ค๋”์— ๋‹ด์•„์„œ ์„œ๋ฒ„์— ์ „๋‹ฌ
    2. ์„œ๋ฒ„๊ฐ€ ์ธ์ฆ๋œ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋‹ด์€ ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๋ผ๋Š” ๋‚ด์šฉ์„ `Set-Cookie` ์‘๋‹ต ํ—ค๋”์— ๋‹ด์•„์„œ ์‘๋‹ต
    3. ํด๋ผ์ด์–ธํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ €์— ์ฟ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์ดํ›„ ์ฟ ํ‚ค๊ฐ€ ๋งŒ๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์š”์ฒญ ํ—ค๋”์— ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ๋„ฃ์–ด์„œ ์š”์ฒญ
    4. ์„œ๋ฒ„๋Š” ์š”์ฒญ ํ—ค๋”์— ํฌํ•จ๋œ ์ฟ ํ‚ค ์ •๋ณด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ ์—ฌ๋ถ€ ํŒ๋‹จ
  • ์žฅ์ 

    • ์„œ๋ฒ„ ์ž์›์„ ๋”ฐ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์„œ ์„œ๋ฒ„ ๋ถ€ํ•˜๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์Šต๋‹ˆ๋‹ค.

  • ๋‹จ์ 

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

    • ํ•˜๋‚˜์˜ ๋„๋ฉ”์ธ ๋‹น 20๊ฐœ์˜ ๊ฐ’๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ณ , ํ•˜๋‚˜์˜ ์ฟ ํ‚ค ๊ฐ’์€ 4096 Byte๊นŒ์ง€๋งŒ ์ €์žฅ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ด 300๊ฐœ๊นŒ์ง€๋งŒ ์ฟ ํ‚ค๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋“ฑ์˜ ์ œ์•ฝ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์ฟ ํ‚ค๋Š” ๋‹จ์ผ ๋„๋ฉ”์ธ ๋ฐ ์„œ๋ธŒ ๋„๋ฉ”์ธ์—์„œ๋งŒ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋Ÿฌ ๋„๋ฉ”์ธ์—์„œ ๊ด€๋ฆฌํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์„ธ์…˜(Session)

  • ์„ธ์…˜์€ ํด๋ผ์ด์–ธํŠธ์™€ ์›น ์„œ๋ฒ„ ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ์ด ์ง€์†์ ์œผ๋กœ ์œ ์ง€๋˜๊ณ  ์žˆ๋Š” ์ƒํƒœ๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.

  • ์„ธ์…˜์˜ ๋งŒ๋ฃŒ ์‹œ์ ์€ ๋ณดํ†ต ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ž…๋‹ˆ๋‹ค.

  • ์„ธ์…˜์„ ์ธ์ฆ ์ƒํƒœ ์œ ์ง€์— ํ™œ์šฉํ•  ๋•Œ๋Š” ์•„๋ž˜ ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

    1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๊ทธ์ธํ•˜๋ฉฐ ์ธ์ฆ ์ •๋ณด๋ฅผ ์š”์ฒญ ํ—ค๋”์— ๋‹ด์•„์„œ ์„œ๋ฒ„์— ์ „๋‹ฌ
    2. ์„œ๋ฒ„๊ฐ€ ์ธ์ฆ๋œ ์œ ์ €์— ๊ณ ์œ ํ•œ ID ๊ฐ’์„ ๋ถ€์—ฌํ•˜์—ฌ ์„ธ์…˜ ์ €์žฅ์†Œ์— ์ €์žฅํ•œ ํ›„, Session ID๋ฅผ ๋ฐœํ–‰
    3. ์„œ๋ฒ„๊ฐ€ Session ID๋ฅผ ์ฟ ํ‚ค์— ์ €์žฅํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์— ์‘๋‹ต
    4. ์ดํ›„ ํด๋ผ์ด์–ธํŠธ๋Š” ์š”์ฒญ ํ—ค๋”์— ์ฟ ํ‚ค๋ฅผ ๋‹ด์•„์„œ ์ž์› ์š”์ฒญ
    5. ์„œ๋ฒ„๋Š” ์š”์ฒญ์— ํฌํ•จ๋œ ์ฟ ํ‚ค์˜ Session ID๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ์ธ์ฆ ์—ฌ๋ถ€ ํŒ๋‹จ
  • ์„ธ์…˜ ์ €์žฅ์†Œ๋Š” DB์— ์ €์žฅํ•˜๊ธฐ๋„ ํ•˜๊ณ , REDIS ๋“ฑ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

  • ๊ฒฐ๊ตญ ์„ธ์…˜๋„ ์ฟ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์‚ฌ์šฉ์ž ์ •๋ณด ํŒŒ์ผ์„ ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์„œ๋ฒ„ ์ธก์— ์ €์žฅํ•œ๋‹ค๋Š” ์ธก๋ฉด์—์„œ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

  • ์žฅ์ 

    • ์ฟ ํ‚ค ์ž์ฒด์— ์œ ์˜๋ฏธํ•œ ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ณด์•ˆ์ƒ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‹จ์ 

    • ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ or DB์— ์ƒํƒœ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ธ์…˜์ด ๋งŽ์•„์งˆ ๊ฒฝ์šฐ ์šฉ๋Ÿ‰์ด ๋ถ€์กฑํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • Session ID๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ์ผ์ผ์ด ์„ธ์…˜ ์ €์žฅ์†Œ์— ์ ‘๊ทผํ•ด์•ผํ•˜๋ฏ€๋กœ ์„œ๋ฒ„ ๋ถ€ํ•˜๊ฐ€ ์ปค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ๊ฐ€ ์กด์žฌํ•œ๋‹ค๋ฉด ๊ฐ ์„œ๋ฒ„๊ฐ€ ๋™์ผํ•œ ์„ธ์…˜ ์ €์žฅ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ๋งค ์š”์ฒญ๋งˆ๋‹ค ๋‹ค๋ฅธ ์„œ๋ฒ„๊ฐ€ ์‘๋‹ตํ•œ๋‹ค๋ฉด, ์„ธ์…˜ ์ €์žฅ์†Œ์— ์ธ์ฆ ์ •๋ณด๊ฐ€ ์—†์–ด์„œ ๊ณ„์† ์ธ์ฆ์„ ์ƒˆ๋กœ ํ•ด์•ผํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. sticky ์„ธ์…˜(๊ฐ™์€ ์„œ๋ฒ„์— ์„ธ์…˜์„ ๊ณ„์† ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹)์„ ์‚ฌ์šฉํ•˜์—ฌ ์–ต์ง€๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๊ธฐ๋Š” ํ•˜์ง€๋งŒ, ๋ฒˆ๊ฑฐ๋กญ๊ณ  ๋น„ํšจ์œจ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์„œ๋ฒ„ ํ™•์žฅ์„ฑ(scalability)์ด ๋‚˜๋น ์ง‘๋‹ˆ๋‹ค.

    • CORS(Cross-origin Resource Sharing)๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์„ธ์…˜์—์„œ ํ™œ์šฉํ•˜๋Š” ์ฟ ํ‚ค ์—ญ์‹œ ๋‹จ์ผ ๋„๋ฉ”์ธ ๋ฐ ์„œ๋ธŒ ๋„๋ฉ”์ธ์—์„œ๋งŒ ์ž‘๋™ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

ํ† ํฐ

  • ์„œ๋ฒ„๊ฐ€ ์‚ฌ์ธํ•œ ํ† ํฐ์„ ์ด์šฉํ•˜์—ฌ ์ธ์ฆ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

  • ํ† ํฐ์„ ์ธ์ฆ ์ƒํƒœ ์œ ์ง€์— ํ™œ์šฉํ•  ๋•Œ๋Š” ์•„๋ž˜ ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค.

    1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋กœ๊ทธ์ธํ•˜๋ฉฐ ์ธ์ฆ ์ •๋ณด๋ฅผ ์š”์ฒญ ํ—ค๋”์— ๋‹ด์•„์„œ ์„œ๋ฒ„์— ์ „๋‹ฌ

    2. ์„œ๋ฒ„๋Š” ์‚ฌ์šฉ์ž๋ฅผ ๊ฒ€์ฆํ•˜๊ณ , ์œ ํšจํ•  ๊ฒฝ์šฐ ํ† ํฐ์„ ๋ฐœ๊ธ‰ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์— ์‘๋‹ต

    3. ํด๋ผ์ด์–ธํŠธ๋Š” ํ† ํฐ์„ ์ €์žฅํ•˜๊ณ , ์„œ๋ฒ„ ์š”์ฒญ์‹œ ํ•ด๋‹น ํ† ํฐ์„ ์š”์ฒญ ํ—ค๋”์— ๋‹ด์•„์„œ ์„œ๋ฒ„์— ์ „๋‹ฌ

    4. ์„œ๋ฒ„๋Š” ํ† ํฐ์„ ๊ฒ€์ฆํ•˜์—ฌ ์ธ์ฆ ์—ฌ๋ถ€ ํŒ๋‹จ

  • ์žฅ์ 

    • ์„œ๋ฒ„๋Š” ์ „๋‹ฌ๋ฐ›์€ ํ† ํฐ์„ ๊ฒ€์ฆ๋งŒ ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋ฒ„์˜ ๋ถ€๋‹ด์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

    • CSRF(Cross-Site Request Forgery)๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค.

    • ๋”ฐ๋กœ ์ฟ ํ‚ค ๋งค๋‹ˆ์ €๋ฅผ ๋‘˜ ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

    • CORS๊ฐ€ ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. ํ† ํฐ ๊ธฐ๋ฐ˜ ์ธ์ฆ์—์„œ๋Š” ํ† ํฐ๋งŒ ์œ ํšจํ•˜๋‹ค๋ฉด ์–ด๋””์„œ๋“  ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

  • ๋‹จ์ 

    • statelessํ•œ ํ† ํฐ์˜ ํŠน์„ฑ ๋•Œ๋ฌธ์— ํ† ํฐ์„ ๊ฐ•์ œ๋กœ ๋งŒ๋ฃŒ์‹œํ‚ฌ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ํ† ํฐ์ด ๊ณต๊ฒฉ์ž์—๊ฒŒ ํƒˆ์ทจ๋˜์—ˆ๋‹ค๋ฉด, ๊ณต๊ฒฉ์ž๋Š” ํ† ํฐ์ด ๋งŒ๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์„œ๋ฒ„์— ์š”์ฒญ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ 

ํ•™์Šต ๋‚ด์šฉ์— ๋Œ€ํ•œ ๊ฐœ์ธ์ ์ธ ์ดํ‰

๊ฐ‘์ž๊ธฐ ๋‹ค์Œ ์ฃผ ๊ธˆ์š”์ผ์— ๋ผ์ด๋ธŒ์ฝ”๋”ฉ์„ ํ•˜๊ฒŒ ๋˜์–ด.. ๋งˆ์Œ์ด ๋ถ€์‚ฐ์Šค๋Ÿฝ๊ธด ํ•œ๋ฐ, ๋งค์ผ ํ•˜๋˜ ๊ณต๋ถ€๋Š” ์ญ‰ ์ด์–ด์„œ ์ž˜ํ•ด๋‚˜๊ฐ€์•ผ๊ฒ ๋‹ค.

๋กœ๊ทธ์ธ์— ๋Œ€ํ•ด์„œ ํŠธ๋ Œ์„ผ๋˜์Šค ํ”„๋กœ์ ํŠธ์—์„œ ๋‹ค๋ค˜๋˜ ๋ถ€๋ถ„์€ ์ž˜ ๊ธฐ์–ตํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์•ˆ ๋‹ค๋ค˜๋˜ ๋ถ€๋ถ„์€ ๊ตฌ๋ฉ์ด ๋šค๋ฆฐ ๊ฒƒ์„ ๋А๊ผˆ๋‹ค. ์ด ์ฐธ์— ์ œ๋Œ€๋กœ ํ•™์Šตํ•ด์„œ ๋ฉ”๊ฟ”๋ฒ„๋ ค์•ผ๊ฒ ๋‹ค.

๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

  • Rails๋กœ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ

image

computer security
access
computer system
identifying
authenticating
์ธ์ฆ์ด๋ž€? '์ธ์ฆ-์ˆ˜๋‹จ'๊ณผ '์ธ์ฆ-์ฒด๊ณ„' - Penta Security
Authentication (1) ์„ธ์…˜๊ณผ ์ฟ ํ‚ค - ssung.k.tistory
์ฐธ๊ณ 
์ฐธ๊ณ 2
์ฐธ๊ณ 3
์ฐธ๊ณ 4
์ฐธ๊ณ 5