๋จ์ ๋ฌ๋ ฅ·๋ฌธ์ ํผ์ด ์นจ์ ํต๋ก๊ฐ ๋๋ค — Joomla ํ์ฅ๊ธฐ๋ฅ ๋ ๊ฐ๋ฅผ ๋ ธ๋ฆฐ ์ ๋ก๋ฐ์ด, ๋ฐฉ์ด์ ๋์๋ฒ
์ด๋ฒคํธ ๋ฌ๋ ฅ์ ๋ถ์ด๋ iCagenda, ๋ฌธ์·์ ์ฒญ ํผ์ ๋ง๋๋ Balbooa Forms. ๋ ๋ค Joomla ์ฌ์ดํธ๋ผ๋ฉด ํํ ๊น๋ ค ์๋, ๋งํ์๋ฉด '์๋ ์ค๋ ๋ชจ๋ฅด๊ณ ์ฐ๋' ํ์ฅ๊ธฐ๋ฅ์. ๊ทธ๋ฐ๋ฐ ์ด ์กฐ์ฉํ ๋ถํ ๋ ๊ฐ๊ฐ ํจ์น๊ฐ ๋์ค๊ธฐ๋ ์ ์ ์ค์ ๊ณต๊ฒฉ์ ์ฐ์๋ค๋ ๋ณด๊ณ ๊ฐ ๋์์. ์ฝ์ด(Joomla ๋ณธ์ฒด)๋ ๋ฉ์ฉกํ๋ฐ ๊ณ๋ค๋ฆฌ๋ก ๋ถ์ธ ํ๋ฌ๊ทธ์ธ์ด ๋ฌธ์ ์ด์ด์ค ์ ํ์ ์ธ ์ฌ๋ก๋ผ, ๋ฐฉ์ดํ๋ ์ ์ฅ์์ ๋ฏ์ด๋ณผ ๊ฐ์ด์น๊ฐ ์ถฉ๋ถํจ.
- Joomla ํ์ฅ๊ธฐ๋ฅ iCagenda(์ด๋ฒคํธ ๋ฌ๋ ฅ)์ Balbooa Forms(ํผ ๋น๋)์ ๊ฒฐํจ์ด ํจ์น ์ด์ ์ ์ ์ฉ๋ ์ ํฉ์ด ๋ณด๊ณ ๋จ — ์ด๋ฅธ๋ฐ ์ ๋ก๋ฐ์ด ์ํฉ.
- ์ฝ์ด๊ฐ ์๋๋ผ ์๋ํํฐ ํ์ฅ๊ธฐ๋ฅ์ด ์ง์ ์ ์ด๋ผ๋ ์ ์ด ํต์ฌ. ๊ด๋ฆฌ์๊ฐ ์ค์น ์ฌ์ค์กฐ์ฐจ ์๊ณ ๋ฐฉ์นํ๊ธฐ ์ฌ์ด ๋ถํ์.
- ๋์์ ๋จ์๋ช ๋ฃํจ — ํ์ฅ๊ธฐ๋ฅ ์ต์ ํ, ์ ์ฐ๋ฉด ์ญ์ , ์น์๋ฒ·DB ๋ก๊ทธ์์ ๋น์ ์ ์์ฒญ ํ์ ๋ค์ง๊ธฐ.
์ 'ํ์ฅ๊ธฐ๋ฅ'์ด ๋งค๋ฒ ๋ฌธ์ ์ธ๊ฐ
Joomla, ์๋ํ๋ ์ค ๊ฐ์ CMS๋ ๋ณธ์ฒด๋ณด๋ค ๊ทธ ์์ ์น๋ ํ๋ฌ๊ทธ์ธ·์ปดํฌ๋ํธ๊ฐ ๋ ์ํํ ๊ฒฝ์ฐ๊ฐ ๋ง์. ์ด์ ๊ฐ ๋ปํ๋ฐ, ์ฝ์ด๋ ์ ์ธ๊ณ ๋์ด ์ง์ผ๋ณด๋ฉฐ ๊ฐ์ฌํ์ง๋ง ๊ฐ๋ณ ํ์ฅ๊ธฐ๋ฅ์ ์์ ๊ฐ๋ฐ์๊ฐ ๋ง๋ค๊ณ ์ ๋ฐ์ดํธ๋ ๋ธํจ. ์ฌ์ฉ์ ์ญ์ ์ฝ์ด ์ ๋ฐ์ดํธ ์๋ฆผ์ ์ฑ๊ฒจ๋ '3๋ ์ ์ ๊น์๋ ์ด๋ฒคํธ ๋ฌ๋ ฅ'๊น์ง๋ ์์ด ์ ๊ฐ. ๊ณต๊ฒฉ์ ์ ์ฅ์์ ๋ฑ ๋ ธ๋ฆฌ๊ธฐ ์ข์ ์ฌ๊ฐ์ง๋์ธ ์ ์.
์ด๋ฒ์ ์ง๋ชฉ๋ ๋ ๋ถํ์ ์ฑ๊ฒฉ์ ๋ณด๋ฉด ์ด๋๊ฐ ๊ธ์์ธ์ง ์ง์์ด ๋จ. ์ด๋ฒคํธ ๋ฌ๋ ฅ์ ๋ ์ง·์นดํ ๊ณ ๋ฆฌ·๊ฒ์์ด ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ์ DB๋ฅผ ์กฐํํ๊ณ , ํผ ๋น๋๋ ์ฌ์ฉ์๊ฐ ๋ณด๋ธ ๊ฐ์ ์ ์ฅํ๊ฑฐ๋ ํ์ผ ์ฒจ๋ถ๋ฅผ ์ฒ๋ฆฌํจ. ์ฆ ์ธ๋ถ ์ ๋ ฅ์ด ๊ทธ๋๋ก ์๋ฒ ๋ด๋ถ(๋ฐ์ดํฐ๋ฒ ์ด์ค·ํ์ผ์์คํ )์ ๋ฟ๋ ํต๋ก๋ผ๋ ๋ป์. ์ ๋ ฅ ๊ฒ์ฆ์ด ํ ๊ตฐ๋ฐ๋ผ๋ ํ๊ฒ๋ค๋ฉด SQL ์ธ์ ์ ์ด๋ ์์ ํ์ผ ์ ๋ก๋๋ก ์ด์ด์ง ์ฌ์ง๊ฐ ์๊น.
๊ณต๊ฒฉ์ ๋๋ต ์ด๋ค ๊ทธ๋ฆผ์ธ๊ฐ (๊ฐ๋ ์์ค)
๊ตฌ์ฒด์ ํ์ด๋ก๋๋ฅผ ๋์ด๋์ ์๊ฐ์ ์๊ณ , ๋ฐฉ์ด์ ํ์ํ ๋งํผ๋ง ๊ฐ๋ ์ ์ ๋ฆฌํจ. ์ด๋ฐ ๋ถ๋ฅ์ ํ์ฅ๊ธฐ๋ฅ ์ทจ์ฝ์ ์ ๋ณดํต ๋ ๊ฐ๋๋ก ๋๋จ.
- ํ๋ผ๋ฏธํฐ๋ฅผ ํตํ DB ์กฐ์: ๋ฌ๋ ฅ์ ์นดํ ๊ณ ๋ฆฌ ID๋ ๊ฒ์ ํ๋ผ๋ฏธํฐ์ฒ๋ผ ๊ฒ๋ณด๊ธฐ์ ์ซ์·๋ฌธ์์ ๋ถ๊ณผํ ๊ฐ์, ๊ณต๊ฒฉ์๊ฐ ์ฟผ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๋นํธ๋ ๋ฌธ์์ด๋ก ๋ฐ๊ฟ ๋ณด๋ด๋ ๋ฐฉ์. ์ฑ๊ณตํ๋ฉด ํ์ ์ ๋ณด๋ ๊ด๋ฆฌ์ ๊ณ์ ํด์๊ฐ ๋น ์ ธ๋๊ฐ ์ ์์.
- ํผ์ ํตํ ํ์ผ·๋ฐ์ดํฐ ๋ฐ๋ฐ์ : ์ฒจ๋ถ ๊ธฐ๋ฅ์ด ํ์ฉ ํ์ฅ์·MIME ๊ฒ์ฌ๋ฅผ ์ ๋๋ก ์ ํ๋ฉด, ์ด๋ฏธ์ง์ธ ์ฒํ ์คํฌ๋ฆฝํธ ํ์ผ์ด ์น ์ ๊ทผ ๊ฐ๋ฅํ ๊ฒฝ๋ก์ ์ฌ๋ผ๊ฐ. ๊ทธ๊ฑธ ๋ธ๋ผ์ฐ์ ๋ก ๋ค์ ํธ์ถํ๋ฉด ์๋ฒ์์ ์ฝ๋๊ฐ ์คํ๋๋ ์น์ ธ์ด ๋๋ ๊ฒ์.
'์ ๋ก๋ฐ์ด๋ก ์ ์ฉ๋๋ค'๋ ๋ง์ ๋ฌด๊ฒ๊ฐ ์ฌ๊ธฐ ์์. ํจ์น๊ฐ ๋ฐฐํฌ๋๊ธฐ ์ , ๋ฐฉ์ด์๊ฐ ์กด์ฌ์กฐ์ฐจ ๋ชจ๋ฅด๋ ๊ตฌ๋ฉ์ผ๋ก ์ด๋ฏธ ๋๊ตฐ๊ฐ ๋๋๋ค์๋ค๋ ๋ป์ด๋ผ ๋จ์ํ ์ ๋ฐ์ดํธ๋ง ํ๋ค๊ณ ๋์ด ์๋๋ผ ์ด๋ฏธ ๋ซ๋ ธ์ ๊ฐ๋ฅ์ฑ๊น์ง ์ ๊ฒํด์ผ ํจ.
๋ฐฉ์ด์๊ฐ ์ง๊ธ ํ ์ผ — ์์๋๋ก
- ๋ฒ์ ํ์ธ๊ณผ ํจ์น: Joomla ๊ด๋ฆฌ์ ํ๋ฉด์ ํ์ฅ๊ธฐ๋ฅ ๊ด๋ฆฌ์์์ iCagenda·Balbooa Forms ์ค์น ์ฌ๋ถ์ ๋ฒ์ ์ ํ์ธํ๊ณ , ๊ฐ๋ฐ์ฌ ๊ณต์ง์ ์ต์ ๋ฒ์ ์ผ๋ก ์ฌ๋ฆผ. ์๋ ์ ๋ฐ์ดํธ๋ฅผ ๊บผ๋๋ค๋ฉด ์ด์ฐธ์ ์ผ๋๋ ๊ฑธ ๊ฐ์ธ์ ์ผ๋ก ์ถ์ฒํจ.
- ์ ์ฐ๋ฉด ์ญ์ : '์ธ์ ๊ฐ ์ธ๊น ๋ด' ๋จ๊ฒจ๋ ๋นํ์ฑ ํ์ฅ๊ธฐ๋ฅ์ด ์ ์ผ ์ํํจ. ๋นํ์ฑ ์ํ์ฌ๋ ํ์ผ์ด ์๋ฒ์ ๋จ์ ์์ผ๋ฉด ์ง์ URL ํธ์ถ๋ก ์ทจ์ฝ ์ฝ๋์ ๋ฟ์ ์ ์์. ๋ฏธ๋ จ ์์ด ์ง์ฐ๋ ๊ฒ ๋ซ๋ค.
- ๋ก๊ทธ๋ถํฐ ๋ค์ง๊ธฐ: ์น์๋ฒ ์ก์ธ์ค ๋ก๊ทธ์์ ํด๋น ์ปดํฌ๋ํธ ๊ฒฝ๋ก(option=com_icagenda, ํผ ์ฒ๋ฆฌ ์๋ํฌ์ธํธ ๋ฑ)๋ก ๋ชฐ๋ฆฐ ๋น์ ์ ์์ฒญ, ํนํ ํ๋ผ๋ฏธํฐ์ ์ธ์ฉ๋ถํธ·UNION·SELECT ๊ฐ์ SQL ์กฐ๊ฐ์ด๋ ์ด์ํ ํ์ฅ์ ์ ๋ก๋ ํ์ ์ด ์๋์ง ํ์. DB ์ค๋ฅ ๋ก๊ทธ๊ฐ ๊ฐ์๊ธฐ ๋์๋ค๋ฉด ์ธ์ ์ ์๋์ ์ ํธ์ผ ์ ์์.
- ์ ๋ก๋ ํด๋ ์ ๊ฒ: ํผ ์ฒจ๋ถ๊ฐ ์ ์ฅ๋๋ ๋๋ ํฐ๋ฆฌ์ ์ต๊ทผ ์์ฑ๋ .php, .phtml ๋ฑ ์คํฌ๋ฆฝํธ ํ์ผ์ด ์๋์ง, ์ด๋ฏธ์ง ํด๋์ ์คํ ๊ฐ๋ฅํ ํ์ผ์ด ์์ฌ ์๋์ง ํ์ธํจ. ์ด๋ฐ ๊ฒฝ๋ก๋ ์ ์ด์ ์น์๋ฒ ์ค์ ์์ ์คํ ๊ถํ์ ๋ง์๋๋ ๊ฒ ์ ์์.
- WAF·๊ฐ์ ํจ์น: ๋น์ฅ ํจ์น๋ฅผ ๋ชป ์ฌ๋ฆฌ๋ ์ํฉ์ด๋ผ๋ฉด ์น๋ฐฉํ๋ฒฝ ๊ท์น์ผ๋ก ํด๋น ํ๋ผ๋ฏธํฐ์ ์ํ ํจํด์ ์์ ์ฐจ๋จํ๋ ๊ฒ๋ ๋ฐฉ๋ฒ์. ๊ทผ๋ณธ ํด๊ฒฐ์ ์๋์ง๋ง ์๊ฐ์ ๋ฒ์ด์ค.
ํ ๋ฐ ๋ — ์ฌ๋ฐ์ ์ค์ด๋ ์ต๊ด
์ด๋ฒ ๊ฑด์ ํน์ ๋ ์ ํ ์ด์ผ๊ธฐ์ง๋ง ๊ตํ์ ์ผ๋ฐ์ ์. CMS๋ฅผ ์ด์ํ๋ค๋ฉด ์ค์นํ ํ์ฅ๊ธฐ๋ฅ ๋ชฉ๋ก์ ๋ฌธ์๋ก ๊ด๋ฆฌํ๊ณ , ๋ถ๊ธฐ์ ํ ๋ฒ์ฏค์ '์ด๊ฑฐ ์์ง ์ฐ๋?'๋ฅผ ์ค์ค๋ก ๋ฌผ์ด๋ณด๋ ๊ฒ ์ข์. ๊ด๋ฆฌ์ ๋ก๊ทธ์ธ์ 2๋จ๊ณ ์ธ์ฆ๊ณผ IP ์ ํ์ ๊ฑธ์ด ๋๊ณ , DB ๊ณ์ ๊ถํ๋ ์น์ฑ์ด ๊ผญ ํ์ํ ๋งํผ๋ง ์ฃผ๋ฉด ์ธ์ ์ ์ด ํฐ์ ธ๋ ํผํด ๋ฒ์๊ฐ ์ค์ด๋ฌ. ๊ฒฐ๊ตญ ๊ณต๊ฒฉ ํ๋ฉด์ ์ขํ๋ ์ผ์์ ์ ๋ฆฌ์ ๋์ด ํ๋ คํ ํ์ง ๋๊ตฌ๋ณด๋ค ๋จผ์ ์.
๋ด ์ฌ์ดํธ์ ์ ๋ ํ์ฅ๊ธฐ๋ฅ์ด ์๋ค๊ณ ์์ฌํ๊ธด ์ด๋ฆ. ์ค๋ ํ์ฅ๊ธฐ๋ฅ ๋ชฉ๋ก ํ ๋ฒ ์ด์ด๋ณด๊ณ , ๋ง์ง๋ง ์ ๋ฐ์ดํธ๊ฐ ์ธ์ ์๋์ง ๋ ์ง๋ง ํ์ธํด๋ ์ ๋ฐ์ ํ ๊ฑฐ์. ์ ๊ฒํ๋ค ์ ๋งคํ ๋ถ๋ถ ์์ผ๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ ์ฃผ์ธ์ — ๊ฐ์ด ์ง์ด๋ด ์๋ค.
# ๋๊ธ