optional94
@optional94
Reviews Written
10
Average Rating
5.0
Posts
Q&A
์คํ๊ณํ์์ ๋๋ผ์ด๋น ํ ์ด๋ธ๊ณผ ๋๋ฆฌ๋ธ ํ ์ด๋ธ์ ํ๋จํ๋ ๊ธฐ์ค
์ ๋ณด๋๋ฆฝ๋๋ค! notion ์ ์ต์ ์์ ๋ฐ์๋ ์ํ์ธ๋ฐ, pdf ํ์ผ์ ์ต์ ๋ฐ์์ด ์๋ ์ํ์ ๋๋ค!
- 1
- 3
- 177
Q&A
๋ก๊ทธ์ธ์ ์ฑ๊ณตํ๋๋ฐ ๊ถํ ๊ฑฐ๋ถ์ ํจ๊ป push ๊ฐ ์๋ฉ๋๋ค.
(์ฌ์ง)(์ฌ์ง)๋ ์ง์คํธ๋ฆฌ๊ณ์ ๋ช ํ์ธ์ ์ํด์ ์๋ ๋ฌธ์ ์์ต๋๋ค..! ํด๊ฒฐํ์ต๋๋ค ใ ใ
- 1
- 2
- 368
Q&A
์ธ์คํด์ค ์์ฑํ๋๋ฐ ํผ๋ธ๋ฆญ IPv4 ์ฃผ์๊ฐ ์์ด์ ใ
(์ฌ์ง)์ ๊ทธ๋ฆผ์ฒ๋ผ EC2 ์ธ์คํด์ค ์ฐ๊ฒฐ์ ๋ค์ด๊ฐ๋ฉด ๋ฉ์์ง๊ฐ ๋์ค๊ณ ์์ต๋๋ค..!
- 0
- 2
- 1.4K
Q&A
/api/member/login 404 ์๋ฌ ์ง๋ฌธ ๋๋ฆฝ๋๋ค.
๋ฌธ์ ํด๊ฒฐ ๋์ต๋๋ค! ๊ฐ์์์ ๋ง์ํด์ฃผ์๋ ๊ฒ์ฒ๋ผ log ๋ฅผ ํตํด์ ํด๋น ์ธ์ฆ์ ์ ๊ทผ์ด ์ฑ๊ณตํ๋ค๋ฉด ์ ์ฒ๋ผ ์ค์ต ๋ด์ฉ๊ณผ ์ฝ๊ฐ ๋ค๋ฅด๋๋ผ๋, ์ธ์ฆ ์ฑ๊ณต/์คํจ ํธ๋ค๋ฌ๊น์ง ๊ตฌํ๋๋ค๋ฉด ์ ์์ ์ผ๋ก ๋ชจ๋ ์ ์ถ๋ ฅ๋ฉ๋๋ค ใ ใ ์ ์๋๋์ง ์ ํํ ์์ธ์ ๋ชป ์ฐพ์์ต๋๋ค. ํ์ง๋ง log ๋ฅผ ํตํด์ ๊ฐ ์ธ์ฆ์ ์ ๊ทผํ๊ณ ์ถ๋ ฅ๋ ๊ฒฐ๊ณผ๋ฅผ ํตํด์ ์ ์์ ์ผ๋ก ๋์๋ ๊ฒ์ ํ์ธ๋๊ณ , ๊ณ์ ๊ฐ์ ์ง๋ ๋๊ฐ์๋ฉด ํฌ์คํธ๋งจ์์ ํ์ ์ ๋ณด๋ ์ ์์ ์ผ๋ก ์ถ๋ ฅ๋ฉ๋๋ค!๋ฐ์์คํ ๋ฐ ๋๊น์ง ํด๊ฒฐํด์ฃผ๊ธฐ ์ํด์ ๋์์ฃผ์ ์ ์ ๋ง ๊ฐ์ฌํฉ๋๋ค! ใ ใ ใ ๊ณ์ ๋์์ฃผ์ ์ ์ ์์ ์ธ ์คํ๊น์ง ๋ณผ ์ ์์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค!
- 0
- 5
- 627
Q&A
csrf disable ์ ๋์์ฑ ์ ๋ํด ์ง๋ฌธ๋๋ฆฝ๋๋ค.
csrf ๋ฅผ disable ์ผ๋ก ์ค์ ์ ๋์์ผ๋ก JWT ํ ํฐ์ ํ์ฉ์ด ์ ์ ํ ์ง์ ๋ํ ๋ต๋ณ ํด๊ฒฐ ํ์ต๋๋ค! ์ง๊ธ ์ค์ต ๊ฐ์ ํ๊ฒฝ์ฒ๋ผ RESTful API ๋ฐฉ์์ธ ๊ฒฝ์ฐ์๋ CSRF ํ ํฐ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ์ฐพ์์ต๋๋ค. CSRF ํ ํฐ ์ฌ์ฉ ๋ฐฉ์์ API ์์ฒญ์ ํค๋์ ํฌํจํ๊ฒ ๋๊ณ , CSRF ํ ํฐ์ ๊ฒ์ฆํ์ฌ ๋ณดํธํ๋ ๊ฒ์ผ๋ก ํ์ธํ์ต๋๋ค. CSRF ํ ํฐ ์ฌ์ฉ์คํ๋ง ์ํ๋ฆฌํฐ์ ์ํด ์๋์ ์ผ๋ก ๋ชจ๋ POST ์์ฒญ์ CSRF ํ ํฐ์ ์๋์ผ๋ก ์์ฑํ๊ณ ์ฝ์ ์ด ๋๊ณ , ์ผ๋ฐ์ ์ผ๋ก ์ธ์ ์ ์ ์ฅ๋๋ฉฐ, ์์ฒญ์ด ์ํ๋ ๋๋ง๋ค ํ ํฐ์ ๊ฒ์ฆํ์ฌ ์์ฒญ์ด ์ ํจํ ์ง ํ์ธํ๋ ๊ฒ์ผ๋ก ํ์ธํ์ต๋๋ค. ํฌ๊ฒ HTTP ํค๋, ์ฟ ํค, ์๋ต ๋ณธ๋ฌธ ์์ CSRF ํ ํฐ์ ํฌํจํ์ฌ ์ ์กํ๋ ์ธ ๊ฐ์ง ๋ฐฉ์์ด ์๋ค๋ ๊ฒ์ผ๋ก ํ์ตํ์ต๋๋ค. ๊ทธ ์ค์์ HTTP ํค๋ ๋ฐฉ์์ด ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ์์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ์ํ๋๋ ๊ฒ์ผ๋ก ํ์ตํ์ต๋๋ค. HTTP ํค๋๋ฐฑ์๋์์ ์์ฑ๋ CSRF ํ ํฐ์ HTTP ์๋ต ํค๋์ ํฌํจํ์ฌ ํด๋ผ์ด์ธํธ์๊ฒ ์ ๋ฌํ๋ก ํธ์๋๋ ์ด ํค๋์์ ํ ํฐ์ ์ฝ์ด์์ API ์์ฒญ์ ํ ๋ ์์ฒญ ํค๋์ ํฌํจ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์คํ๋ง ์ํ๋ฆฌํฐ์ ์ํด ๊ธฐ๋ณธ์ ์ผ๋ก CSRF ํ ํฐ์ HTTP ์๋ต์ ํค๋์ ํฌํจํ์ฌ ์ ๋ฌ ์๋ฒ์์ CSRF ํ ํฐ์ HTTP ์๋ต ํค๋์ ํฌํจ์ํค๋ ์ฝ๋ (์คํ๋ง ์ํ๋ฆฌํฐ)import org.springframework.security.web.csrf.CsrfToken; // CSRF ํ ํฐ ์์ฑ ํ ์๋ต ํค๋์ ์ถ๊ฐ @GetMapping("/csrf-token") public void getCsrfToken(HttpServletRequest request, HttpServletResponse response) { CsrfToken csrfToken = (CsrfToken) request.getAttribute(CsrfToken.class.getName()); if (csrfToken != null) { Cookie cookie = WebUtils.getCookie(request, "XSRF-TOKEN"); String token = csrfToken.getToken(); if (cookie == null || token != null && !token.equals(cookie.getValue())) { cookie = new Cookie("XSRF-TOKEN", token); cookie.setPath("/"); response.addCookie(cookie); } } } JWT ์ผ๋ก CSRF ๋ง์ ์ ์๋ค.๊ทธ๋ฆฌ๊ณ JWT ๋ฅผ ์ฌ์ฉํ๋๋ผ๋ CSRF ๊ณต๊ฒฉ์ ๋ฐฉ์ดํ๊ธฐ ์ํด ๋ณ๋์ ์กฐ์น๋ ํ์ํ๋ค๊ณ ์ฐพ์์ต๋๋ค. JWT๋ ํ ํฐ์ ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ํฌํจ์ํค๋ ๋ฐฉ์์ผ๋ก ์ธ์ฆ์ ์ํํ๋ฉฐ, ๋ณดํต HTTP์ ์ธ์ฆ ํค๋์ ํ ํฐ์ ํฌํจ์์ผ API ์์ฒญ์ ๋ณด๋ ๋๋ค. (๊ฐ์ ๋ด์ฉ์ฒ๋ผ ์ก์ธ์ค ํ ํฐ๊ณผ ๋ฆฌํ๋ ์ ํ ํฐ์ด ํด๋น๋ฉ๋๋ค.) ๊ทธ๋ฌ๋ JWT ์์ฒด๋ CSRF ๊ณต๊ฒฉ์ผ๋ก๋ถํฐ ๋ณดํธ๋์ง ์์ต๋๋ค.CSRF ๊ณต๊ฒฉ์ ๊ณต๊ฒฉ์๊ฐ ํผํด์์ ์ธ์ ๊ณผ ์ธ์ฆ ์ฟ ํค๋ฅผ ์ด์ฉํ์ฌ ์ ์์ ์ธ ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ์ ์ด์ฉํ๋๋ฐ, JWT๋ ์ธ์ ๊ณผ ์ฟ ํค๊ฐ ์๋ ๋ค๋ฅธ ์ ์ฅ์(์ผ๋ฐ์ ์ผ๋ก๋ ํด๋ผ์ด์ธํธ์ localStorage๋ sessionStorage)์ ์ ์ฅ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก CSRF ๊ณต๊ฒฉ์ ๊ธฐ๋ณธ์ ์ผ๋ก JWT์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค.์คํ๋ง ์ํ๋ฆฌํฐ์ ์ธ์ (Session)์ ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ์ ์ธ์ ์ ์ ์ฅํฉ๋๋ค. ์ฟ ํค(Cookie) ํด๋ผ์ด์ธํธ ์ธก์ ์ ์ฅ๋๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก ๋ธ๋ผ์ฐ์ ์ ์ฟ ํค ์ ์ฅ์์ ์ ์ฅ๋ฉ๋๋ค. ์คํ๋ง ์ํ๋ฆฌํฐ์์๋ ์ธ์ฆ ์ฟ ํค์ ์ธ์ ์ฟ ํค ๋ ๊ฐ๋ฅผ ๋ค๋ฃจ๊ณ ์์ต๋๋ค.์ธ์ฆ ์ฟ ํค:์คํ๋ง ์ํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ฅผ ์ธ์ฆํ ๋, ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์์ ์ธ์ฆ ์ํ๋ฅผ ๋ํ๋ด๋ ํ ํฐ(์: JWT, ์ธ์ฆ ์ธ์ ID ๋ฑ)์ ์ฟ ํค์ ์ ์ฅํฉ๋๋ค.์ด ์ธ์ฆ ์ฟ ํค๋ ํด๋ผ์ด์ธํธ์ ์ํด ์ ์ฅ๋๊ณ , ์ธ์ฆ๋ ์ฌ์ฉ์๊ฐ ๋ค์ ์์ฒญ์ ๋ณด๋ผ ๋๋ง๋ค ํจ๊ป ์๋ฒ๋ก ์ ์ก๋ฉ๋๋ค.์ธ์ ์ฟ ํค:์คํ๋ง ์ํ๋ฆฌํฐ๋ ์ธ์ ์ ์๋ฒ์ ์ ์ฅํ๊ณ , ํด๋ผ์ด์ธํธ์๋ ์ธ์ ์๋ณ์๋ฅผ ๋ด์ ์ฟ ํค๋ฅผ ๋ณด๋ผ ์ ์์ต๋๋ค.์ด ์ธ์ ์ฟ ํค๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ผ ๋๋ง๋ค ํจ๊ป ์ ์ก๋๊ณ , ์๋ฒ๋ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ ์ ์๋ณํ๊ณ ๊ด๋ฆฌํฉ๋๋ค.
- 0
- 1
- 722
Q&A
script setup ํ๊ทธ ์ ๋ฌด์ ๋ฐ๋ผ์ ํ์ด์ง ์ถ๋ ฅ์ด ์๋ฉ๋๋ค.
์ ํฌํผ ํด๋์ค๋ก ์ค์ต ๋์๊ฐ๋ฉด์ ์์ ์์ด ๋ค์ ๋ค์ด๊ฐ๋ณด๋๊น ์คํ์ด ๋ฉ๋๋ค;;; ์ ์ด๋ฐ ๊ฒฝ์ฐ๊ฐ ๋ฐ์ํ๋ ๊ฑฐ์ฃ ..?
- 0
- 3
- 507
Q&A
script setup ํ๊ทธ ์ ๋ฌด์ ๋ฐ๋ผ์ ํ์ด์ง ์ถ๋ ฅ์ด ์๋ฉ๋๋ค.
๊ฐ์ ์์ค์ฝ๋ ๊ทธ๋๋ก ๋ณต์ฌ ๋ถ์ฌ๋๊ธฐ ํด๋ ๋์ผํ๊ฒ ๋ธ๋ ์ดํฌํฌ์ธํธ ํ์ด์ง๋ก ์ด๋์ด ์๋ฉ๋๋ค.. url ๋ณ๊ฒฝ๋ ์๋์ ใ
- 0
- 3
- 507
Q&A
3:53 ๋ถ์ HelloWorld ํ๊ทธ ์ธ์์ ๋ชปํด์ ์ค๋ฅ ๋ฐ์ํ๋น๋!
Vetur์ญ์ ํ๊ณ ์งํํ๋ฉด ์ค๋ฅ๊ฐ ์ฌ๋ผ์ก์ด์... ๊ด์ฐฎ์๊น์?
- 0
- 1
- 448
Q&A
๋ชฝ๊ณ DB ๊ณต์ํํ์ด์ง 403 ์ ์ ์๋ฌ ๋ฐ์ํฉ๋๋ค.
์ธํฐ๋ท ์ฌ์ฉ ๊ธฐ๋ก ๋ฐ ์ฟ ํค ์ ๊ฑฐํด์ ๋ค์ ๋ชฝ๊ณ db ๊ณต์ ํํ์ด์ง ์ ์ํ๋๊น ์ ๋ฉ๋๋ค! ํด๊ฒฐํ์ต๋๋ค.
- 1
- 3
- 603
Q&A
๋ชฝ๊ณ DB ๊ณต์ํํ์ด์ง 403 ์ ์ ์๋ฌ ๋ฐ์ํฉ๋๋ค.
cmd ์์ ping mongodb.com ๋ช ๋ น์ด๋ก ํ์ ์ ๋ณด๋ด์ง ์ํ์์
- 1
- 3
- 603




