π μ€λλΆν° 3μΌκ° λ‘κ·ΈμΈκ΄λ ¨ λ΄μ©μ νμ΅μ νκ²λλ€. μΏ ν€... ν ν°... μμ λ‘κ·ΈμΈ κ΄λ ¨μ΄λ€... μ΄λΆλΆμ νλ‘μ νΈμ μ¬μ©ν μ μλ λΆλΆμ΄κΈ° λλ¬Έμ μ΄μ¬νν΄λ³΄μ!!!
π μ€λ νμ΅ν λ΄μ©
HTTPS νλ‘ν μ½
- HTTP + Secure
- μμ²μ λ΄μ©μ νλ² μνΈννκΈ° λλ¬Έμ μ μΆμ΄ λμ΄λ μ΄λ€ λ΄μ©μΈμ§ μ μ μλ€.
- μΈμ¦μ, CA, λΉλμΉ ν€ μνΈνλ°©μμ μ΄μ©νλ€.
- μΈμ¦μ
- λ°μ΄ν°λ₯Ό μ 곡νλ μλ²κ° μ§μ§μΈμ§ μΈμ¦νμΈνλ μ©λμ΄λ€.
- μΈμ¦μμ λ΄μ©μ μλ²μ λλ©μΈ κ΄λ ¨ μ λ³΄κ° μμ΄μ λ°μ΄ν° μ 곡μμ μΈμ¦μ μ©μ΄νκ² νλ€.
- μμ²μ λ°μ μλ²λ μΈμ¦μμ ν¨κ» μλ΅μ μ μ‘νκ³ , μλ΅μ λ°μ ν΄λΌμ΄μΈνΈλ μΈμ¦μμ μμ±λ λλ©μΈκ³Ό μλ΅ κ°μ²΄μ μμ±λ λλ©μΈμ λΉκ΅νμ¬ κ°λ€λ©΄ λ°μ΄ν°λ₯Ό μ 곡ν΄μ£Όλ μλ²κ° μ§μ§λΌλ κ²μ μ μ μμ΅λλ€.
- CA (Certificate Authority)
- μΈμ¦μλ₯Ό λ°κΈνλ 곡μΈλ κΈ°κ΄μ΄λ€.
- κ° λΈλΌμ°μ λ μ λ’°νλ CAμ μ 보λ₯Ό κ°μ§κ³ μμ΄ μΈμ¦μμ μ°¨μ΄κ° μλ€.
- λΉλμΉ ν€ μνΈν
- μνΈν λ° λ³΅νΈν κ°λ₯
- Aν€λ‘ νΉμ λ°μ΄ν°λ₯Ό μνΈννλ©΄ ν΄λΉ ν€λ₯Ό 볡νΈννλλ° Aν€μ μμΈ Bν€λ‘λ§ κ°λ₯νλ€.
μνΈν
- μ 3μκ° μλ²μ ν΄λΌμ΄μΈνΈκ° μ£Όκ³ λ°λ μ 보λ₯Ό νμ·¨ν μ μλλ‘ νλ κ²μ΄λ€.
- μλ²μ ν΄λΌμ΄μΈνΈλμλ‘κ° ν©μν λ°©λ²μΌλ‘ λ°μ΄ν°λ₯ΌμνΈννμ¬ μ£Όκ³ λ°λλ€.
- μ€κ°μ μ 3μμκ² λ°μ΄ν°κ° νμ·¨λλλΌλ κ·Έ λ΄μ©μ μμλ³Ό μ μλ€.
- μΌλ ¨μ μ 보λ₯Ό μμμ λ°©μμ μ¬μ©νμ¬ λ€λ₯Έ ννλ‘ λ³ννμ¬ ν΄λΉ λ°©μμ λν μ 보λ₯Ό μμ ν μ¬λμ μ μΈνκ³ μ΄ν΄ν μ μλλ‘ 'μκ³ λ¦¬μ¦'μ μ΄μ©ν΄ μ 보λ₯Ό κ΄λ¦¬νλ κ³Όμ μ΄λ€.
mkcert
- λ‘컬 νκ²½μμ μ λ’°ν μ μλ μΈμ¦μλ₯Ό λ§λ λ€.
- λ‘컬μ μΈμ¦λ κΈ°κ΄μΌλ‘ μΆκ°ν λ€ λ‘컬 νκ²½ μΈμ¦μλ₯Ό μμ±νλ€.
// μ€μΉ
brew install mk cert
// λ‘컬μ μΈμ¦λ λ°κΈκΈ°κ΄μΌλ‘ μΆκ°
mkcert -install
// λ‘컬 νκ²½ μΈμ¦μ μμ±
mkcert -key-file key.pem -cert-file cert.pem localhost 127.0.0.1 ::1
Hashing
- μ΄λ€ λ¬Έμμ΄μ 'μμμ μ°μ°'μ μ μ©νμ¬ λ€λ₯Έ λ¬Έμμ΄λ‘ λ³ννλ κ²
- λͺ¨λ κ°μ λν΄ ν΄μ κ°μ κ³μ°νλλ° μ€λκ±Έλ¦¬μ§ μμμΌ νλ€.
- μ΅λν ν΄μ κ°μ νΌν΄μΌ νλ©°, λͺ¨λ κ°μ κ³ μ ν ν΄μ κ°μ κ°μ§λ€.
- μμ£Ό μμ λ¨μμ λ³κ²½μ΄λΌλ μμ ν λ€λ₯Έ ν΄μ κ°μ κ°μ ΈμΌ νλ€.
Salt
- μνΈνν΄μΌ νλ κ°μ μ΄λ€ 'λ³λμ κ°'μ μΆκ°νμ¬ κ²°κ³Όλ₯Ό λ³ννλ κ²
- μνΈνλ§ ν΄λλλ€λ©΄ ν΄μλ κ²°κ³Όκ° λ λμΌνλ€.
ν΄μλ κ°κ³Ό μλ κ°μ ν μ΄λΈ(λ μΈλ³΄μ° ν μ΄λΈ)λ‘ λ§λ€μ΄μ decoding ν΄λ²λ¦¬λ κ²½μ°λ μκΈ΄λ€. - μλ³Έκ°μ μμλ‘ μ½μλ λ³λμ λ¬Έμμ΄μ μΆκ°νμ¬ ν΄μλ₯Ό μ§ννλ€λ©΄ κΈ°μ‘΄ ν΄μκ°κ³Ό μ ν λ€λ₯Έ ν΄μκ°μ΄ λ°νλμ΄ μκ³ λ¦¬μ¦μ΄ λ ΈμΆλλλΌλ μλ³Έκ°μ 보νΈν μ μλλ‘ νλ μμ μ₯μΉμ΄λ€.
- κΈ°μ‘΄: μνΈν νλ €λ κ° -> hash κ°
Salt: μνΈν νλ €λ κ° + Salt μ© κ° => hash κ°
- μνΈνλ§ ν΄λλλ€λ©΄ ν΄μλ κ²°κ³Όκ° λ λμΌνλ€.
Cookie
- μλ²μμ ν΄λΌμ΄μΈνΈμ μμμ±μλ λ°μ΄ν°λ₯Ό μ μ₯νλ λ°©λ²μ΄λ€.
- λ¨μν μλ²μμ ν΄λΌμ΄μΈνΈμ μΏ ν€λ₯Ό μ μ‘νλ κ²λ§ μλ―Ένμ§ μκ³ ν΄λΌμ΄μΈνΈμμ μλ²λ‘ μΏ ν€λ₯Ό λ€μ μ μ‘νλ κ²λ ν¬ν¨λλ€.
- νΉμ§
- μλ²κ° ν΄λΌμ΄μΈνΈμ νΉμ ν λ°μ΄ν°λ₯Ό μ μ₯ν μ μλ€.
- λ°μ΄ν°λ₯Ό μ μ₯ν μ΄ν μ무 λλ λ°μ΄ν°λ₯Ό κ°μ Έμ¬ μ λ μκ³ , λ°μ΄ν°λ₯Ό μ μ₯ν ν νΉμ 쑰건λ€μ΄ λ§μ‘±λΌμΌ λ€μ κ°μ Έμ¬ μ μλ€.
1. Domain
- www.google.comκ³Ό κ°μ μλ²μ μ μν μ μλ μ΄λ¦
2. Path
- μΈλΆ κ²½λ‘λ‘μ¨ μλ²κ° λΌμ°ν ν λ μ¬μ©νλ κ²½λ‘λ₯Ό μλ―Ένλ€.
- μ€μ λ κ²½λ‘λ₯Ό ν¬ν¨νλ νμ κ²½λ‘λ‘ μμ²μ ν΄λ μΏ ν€λ₯Ό μλ²μ μ μ‘ν μ μλ€.
3. MaxAge or Expires
- μΏ ν€κ° μ ν¨ν κΈ°κ°μ μ νλ μ΅μ
- MaxAge: μκ°μ μ΄ λ¨μλ‘ μ€μ
- Expires: λ μ§ μ€μ
- μΈμ μΏ ν€: MaxAge, Expires μ΅μ μ΄ μλ μΏ ν€(μμ μΏ ν€)
- μμμ± μΏ ν€: MaxAge, Expiresμ μ§μ λ μ ν¨μκ°λ§νΌ μ¬μ©κ°λ₯ν μΏ ν€
4. Secure
- μ¬μ©νλ νλ‘ν μ½μ λ°λ₯Έ μΏ ν€μ μ μ‘ μ¬λΆλ₯Ό κ²°μ νλ μ΅μ μ΄λ€.
- Secure μ΅μ μ΄ trueλ‘ μ€μ λ κ²½μ° HTTPSλ₯Ό μ΄μ©νλ κ²½μ°μλ§ μΏ ν€λ₯Ό μ μ‘ν μ μλ€.
5. HttpOnly
- JSμμ λΈλΌμ°μ μ μΏ ν€μ μ κ·Ό μ¬λΆλ₯Ό κ²°μ νλ€.
- μ΅μ μ΄ trueμΈ κ²½μ° jsλ‘ μΏ ν€μ μ κ·Όμ΄ λΆκ°νλ€.
6. SameSite
- Cross-Orgin μμ²μ λ°μ κ²½μ° μμ²μμ μ¬μ©ν λ©μλμ ν΄λΉ μ΅μ μ μ‘°ν©μ κΈ°μ€μΌλ‘ μλ²μ μΏ ν€ μ μ‘ μ¬λΆλ₯Ό κ²°μ νκ² λλ€.
μΏ ν€λ₯Ό μ΄μ©ν μν μ μ§
- κΈ°λ³Έμ μΌλ‘ μΏ ν€λ μ€λ μκ° μ μ§ν μ μκ³ , HttpOnly μ΅μ μ μ¬μ©νμ§ μμλ€λ©΄ JSλ₯Ό μ΄μ©ν΄μ μΏ ν€μ μ κ·Όν μ μκΈ° λλ¬Έμ μΏ ν€μ λ―Όκ°ν μ 보λ₯Ό λ΄λ κ²μ μννλ€.
Session
- μλ²κ° Clientμ μ μΌνκ³ μνΈνλ IDλ₯Ό λΆμ¬
- μ€μ λ°μ΄ν°λ μλ²μμ κ΄λ¦¬
π μΆκ°λ‘ 곡λΆν λ΄μ©
[udemy] React μλ²½ κ°μ΄λ κ°μ 보기 (λ§€μΌ μ‘°κΈμ© μ΄λΌλ κΎΈμ€ν λ£κΈ°)
axios μ¬μ©λ°©λ²
π μ€μν λ΄μ©
- μΏ ν€: μλ²κ° ν΄λΌμ΄μΈνΈμ λ°μ΄ν°λ₯Ό μ μ₯νλ λ°©λ²
- μΈμ : μ¬μ©μκ° μΈμ¦μ μ±κ³΅ν μν
- axiosλ‘ μλ²μ ν΅μ κ°λ₯ (fetchμ κ°μ κΈ°λ₯, μ€λ¬΄μμ λ§μ΄ μ¬μ©)
axios | fetch |
μ¨λνν° λΌμ΄λΈλ¬λ¦¬(μ€μΉ ν΄μΌ μ¬μ© κ°λ₯) | λΉνΈμΈ(μ€μΉνμ§ μμλ μ¬μ© κ°λ₯) |
XSRF 보μ κΈ°λ₯ μ 곡 | 보μ κΈ°λ₯ μμ |
μλ JSON λ°μ΄ν° λ³ν | JSON λ°μ΄ν° νΈλ€λ§ μν μΆκ° λ‘μ§ κ΅¬ν |
λ°μ΄ν°κ° κ°μ²΄κ° ν¬ν¨λ¨ | λ°μ΄ν°κ° λ¬Έμμ΄ν λμ΄μΌν¨ |
μΆκ° λΉκ΅ ν: https://www.geeksforgeeks.org/difference-between-fetch-and-axios-js-for-making-http-requests/
'Daily > Today I Learned' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
22.07.18_TIL (0) | 2022.07.18 |
---|---|
22.07.15_TIL (0) | 2022.07.15 |
22.07.12_TIL (0) | 2022.07.12 |
22.07.11_TIL (2) | 2022.07.11 |
22.07.08_TIL (0) | 2022.07.08 |