โ process.env.NODE_ENV
๋ฐฐํฌ ํ๊ฒฝ์ธ์ง ๊ฐ๋ฐ ํ๊ฒฝ์ธ์ง๋ฅผ ํ๋จํ ์ ์๋ ํ๊ฒฝ ๋ณ์๋ค.
์ฃผ๋ก ๋ฐฐํฌ ํ๊ฒฝ์ผ ๋๋ morgan์ combined ๋ชจ๋๋ก, ๊ฐ๋ฐ ํ๊ฒฝ์ผ ๋๋ dev ๋ชจ๋๋ก ์ฌ์ฉํ๋ค.
์ํ๋ผ์ด์ฆ์์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ๋น๋ฐ๋ฒํธ๊ฐ ํ๋ ์ฝ๋ฉ๋์ด ์๋ค๋ ๊ฒ์ด๋ฉฐ, JSON ํ์ผ์ด๋ฏ๋ก ๋ณ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค. ์ํ๋ผ์ด์ฆ๋ JSON ๋์ JS ํ์ผ์ ์ค์ ํ์ผ๋ก ์ธ ์ ์๊ฒ ์ง์ํ๋ค.
cross-env ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ ์ผ๋ก process.env(ํ๊ฒฝ ๋ณ์)๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค. ๋ํ, ๋ชจ๋ ์ด์์ฒด์ ์์ ๋์ผํ ๋ฐฉ๋ฒ์ผ๋ก ํ๊ฒฝ ๋ณ์๋ฅผ ๋ณ๊ฒฝํ ์ ์๊ฒ ๋๋ค.
npm start์์ ์คํ๋๋ ๋ช ๋ น์ด ์์ NODE_ENV=production PORT=80์ด ๋ถ์ด ์๋๋ฐ, ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ๋ process.env๋ฅผ ๋์ ์ผ๋ก ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋ฐ๋ฐ ์๋์์๋ process.env๋ฅผ ์ด๋ ๊ฒ ์ค์ ํ ์ ์์ผ๋ฏ๋ก ์์ cross-env๋ฅผ ๋ถ์ธ๋ค.
sanitize-html๊ณผ csurf ํจํค์ง๋ ๊ฐ๊ฐ XSS(Cross Site Scripting), CSRF(Cross Site Request For gery) ๊ณต๊ฒฉ์ ๋ง๊ธฐ ์ํ ํจํค์ง๋ค.
โ XSS
์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ์ฌ์ดํธ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ์ ํ๋ ๊ณต๊ฒฉ์ด๋ค. ๋ฐ๋ผ์ ์๋ฒ์์๋ ์ฌ์ฉ์๊ฐ ๊ฒ์๊ธ์ ์ ๋ก๋ํ ๋ ์คํฌ๋ฆฝํธ๊ฐ ํฌํจ๋์ด ์๋์ง ๊ฒ์ฌํด์, ์กด์ฌํ๋ค๋ฉด ์ ๊ฑฐํ๋ค. ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ HTML์ sanitize-html ํจ์๋ก ๊ฐ์ธ๋ฉด ํ์ฉํ์ง ์๋ ํ๊ทธ๋ ์คํฌ๋ฆฝํธ๋ ์ ๊ฑฐ๋๋ค.
โ CSRF
์ฌ์ฉ์๊ฐ ์๋์น ์๊ฒ ๊ณต๊ฒฉ์๊ฐ ์๋ํ ํ๋์ ํ๊ฒ ๋ง๋๋ ๊ณต๊ฒฉ์ด๋ค. ์ด ๊ณต๊ฒฉ์ ๋ง์ผ๋ ค๋ฉด ๋ด๊ฐ ํ ํ๋์ด ๋ง๋ค๋ ์ ์ ์ธ์ ํด์ผ ๋๋๋ฐ ์ด๋ CSRF ํ ํฐ์ด ์ฌ์ฉ๋๊ณ , csurf ํจํค์ง๋ ์ด ํ ํฐ์ ์ฝ๊ฒ ๋ฐ๊ธํ๊ฑฐ๋ ๊ฒ์ฆํ ์ ์๋๋ก ๋๋๋ค.
์ํํ ์๋ฒ ์ด์์ ์ํ ํจํค์ง๋ค. ๊ฐ์ฅ ํฐ ๊ธฐ๋ฅ์ ์๋ฒ๊ฐ ์๋ฌ๋ก ์ธํด ๊บผ์ก์ ๋ ์๋ฒ๋ฅผ ๋ค์ ์ผ์ค๋ค.
๋ ํ๋์ ์ค์ํ ๊ธฐ๋ฅ์ ๋ฉํฐ ํ๋ก์ธ์ฑ์ด๋ค. ๋ฉํฐ ํ๋ก์ธ์ฑ์ ์ง์ํ์ฌ ๋ ธ๋ ํ๋ก์ธ์ค ๊ฐ์๋ฅผ ํ ๊ฐ ์ด์์ผ๋ก ๋๋ฆด ์ ์๋ค. ํ๋์ ํ๋ก์ธ์ค๊ฐ ๋ฐ๋ ๋ถํ๊ฐ ์ ์ด์ง๋ฏ๋ก ์๋น์ค๋ฅผ ๋ ์ํํ๊ฒ ์ด์ํ ์ ์๋ค.
๋จ์ ์ ๋ฉํฐ ์ค๋ ๋ฉ์ด ์๋๋ฏ๋ก ์๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ์ ์์์ ๊ณต์ ํ์ง๋ ๋ชปํ๋ค. ์ด ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด์๋ ๋ฉค์บ์๋๋ ๋ ๋์ค ๊ฐ์ ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ค.
์ค์ ์๋ฒ๋ฅผ ์ด์ํ ๋ console.log์ console.error๋ฅผ ๋์ฒดํ๊ธฐ ์ํ ๋ชจ๋์ด๋ค.
์๋ฒ์ ๊ฐ์ข ์ทจ์ฝ์ ์ ๋ณด์ํด์ฃผ๋ ํจํค์ง๋ค์ด๋ฉฐ, ์ต์คํ๋ ์ค ๋ฏธ๋ค์จ์ด๋ก์ ์ฌ์ฉํ ์ ์๋ค. ๊ทธ๋ฌ๋ ์ด ํจํค์ง๋ค์ ์ฌ์ฉํ๋ค๊ณ ํด์ ๋ชจ๋ ์ทจ์ฝ์ ์ ๋ฐฉ์ดํด์ฃผ๋ ๊ฒ์ ์๋๋ฏ๋ก ์๋ฒ๋ฅผ ์ด์ํ ๋๋ ์ฃผ๊ธฐ์ ์ผ๋ก ์ทจ์ฝ์ ์ ์ ๊ฒํด์ผ ํ๋ค.
๋ฉํฐ ํ๋ก์ธ์ค ๊ฐ ์ธ์ ๊ณต์ ๋ฅผ ์ํด ๋ ๋์ค์ ์ต์คํ๋ ์ค๋ฅผ ์ฐ๊ฒฐํด์ฃผ๋ ํจํค์ง๋ค.
๋ ธ๋ ๋ฒ์ ์ ์ ๋ฐ์ดํธํ๊ธฐ ์ํ ํจํค์ง๋ค.
๋ถ์ฐํ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ผ๋ก ํ์ , ์ฝ๋ ๋กค๋ฐฑ, ๋ฐฐํฌ ์๋ํ ๋ฑ ๋ค์ํ ๊ณณ์์ ์ฌ์ฉํ๋ค.
๊น์ผ๋ก๋ถํฐ ์ ๋ก๋ํ ์์ค ์ฝ๋๋ฅผ ์๋ฒ์ ์ ์ฅํ ์ ์๋ ์๊ฒฉ ์ ์ฅ์๋ค. ๊น์ ํ๋์ ์ปดํจํฐ์์ ์ฝ๋๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉํ์ง๋ง, ๊นํ๋ธ์ ์์ค ์ฝ๋๋ฅผ ์ ๋ก๋ํ๋ฉด ์ฌ๋ฌ ์ฌ๋์ด ์ฝ๋๋ฅผ ๊ณต๋ ๊ด๋ฆฌํ ์ ์๋ค.
ํด๋ผ์ฐ๋ ์๋น์ค ์ค ๊ฐ์ฅ ์ ๋ช ํ๋ค.
๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ์ด๋ค.
[Node.js] 16์ฅ ์๋ฒ๋ฆฌ์ค ๋ ธ๋ ๊ฐ๋ฐ (0) | 2023.01.12 |
---|---|
[Node.js] 14์ฅ CLI ํ๋ก๊ทธ๋จ ๋ง๋ค๊ธฐ (0) | 2023.01.05 |
[Node.js] 12์ฅ ์น ์์ผ์ผ๋ก ์ค์๊ฐ ๋ฐ์ดํฐ ์ ์กํ๊ธฐ (0) | 2022.12.22 |
[Node.js] 11์ฅ ๋ ธ๋ ์๋น์ค ํ ์คํธํ๊ธฐ (0) | 2022.12.01 |
[Node.js] 10์ฅ ์น API ์๋ฒ ๋ง๋ค๊ธฐ (0) | 2022.11.24 |