[์๋ฐ์คํฌ๋ฆฝํธ] ๋ ํฐํ๋ฌ ์นด๋ ๊ตฌํํ๊ธฐ
๋ณด์ด๋ ๊ฐ๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ๋ ํฐํ๋ฌ ์นด๋๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ตฌํํ๊ธฐ
๋ณด์ด๋ ๊ฐ๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ๋ ํฐํ๋ฌ ์นด๋๋ฅผ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ๊ตฌํํ๊ธฐ
์ฌ์ง์ฒ๋ผ ํ ํ๋ฉด๊น์ง ์ ์๋์ง๋ง, ๊ธ์ ํด๋ฆญํ๋ ์๊ฐ /m์ด ์ฌ๋ผ์ง ์ฃผ์๋ก ๋ฆฌ๋ค์ด๋ ํธ๋ฉ๋๋ค. 191215 ์ ๋ฐ์ดํธ - ํฐ์คํ ๋ฆฌ ์ฑ์์๋ ์๋210614 ์ ๋ฐ์ดํธ - ํ ํ ์ฝ๋ ์ฌ์ฉํ๋๋ก ์ ๋ฐ์ดํธ ๊ธฐ์ด ์์ ๋จผ์ , ๊ด๋ฆฌ์ ํ์ด์ง์์ ๊พธ๋ฏธ๊ธฐ ๋ชจ๋ฐ์ผ๋ก ๊ฐ์ ์ ํฐ์คํ ๋ฆฌ ๋ชจ๋ฐ์ผ์น ์๋ ์ฐ๊ฒฐ์ "์ฌ์ฉํ์ง ์์ต๋๋ค."๋ก ๋จผ์ ๋ณ๊ฒฝํด์ฃผ์ธ์. ํ๋ฌ๊ทธ์ธ ์์ ์ ์์ ์ ๋ง์ณ๋ ์๋์ผ๋ก ๋ฆฌ๋ค์ด๋ ํธ๋๋ ๊ฒ๋ง ๋ง์ ๋ฟ์ด์ง ์ ์์ ๋ฉ๋๋ค. ์ฌ์ง์ด ๊ฒ์ ์์ง์ ๋ ธ์ถ๋
23:00" ์ฒ๋ผ ํ๊ธฐ๋ ์๊ฐ์ ํ์ฌ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก "13๋ถ ์ " ์ฒ๋ผ ๋ณ๊ฒฝํ๋ ์คํฌ๋ฆฝํธ์ ๋๋ค. export const SECOND_TO_MS = 1000; export const MINUTE_TO_SECOND = 60; export const HOUR_TO_SECOND = MINUTE_TO_SECOND * 60; export const DAY_TO_SECOND = HOUR_TO_SECOND * 24; export const WEEK_TO_DAY = 7; export const WEEK_TO_SECOND = WEEK_TO_DAY * DAY_TO_SECOND; // (365.24 / 12).toFixed(2) export const
10์ 24์ผ์ ์ ์ ์ ์์ผ์ง์์ ์บ์ ํค๋๋ฅผ ์ถ๊ฐํ๋ค๊ณ ์ ์๋๋ฐ, ์ผ๋จ ๊ฑฐ๊ธฐ์๋ถํฐ ํ๋ ธ์ต๋๋ค. ์ ์ผ ๋จผ์ .htaccess๋ฅผ ์์ ํด ์ฝ๋๋ฅผ ์์ฑํ์ต๋๋ค. ์ ๊ฐ ์ด๋๋ฏผ์ด๋ผ conf ํ์ผ์ ์์ ํ ์ ์์์๋์. ๋ ํฐ ๋ฌธ์ ๋ ์๋ฒ์ ์บ์ ํค๋๋ฅผ ์ถ๊ฐํ๊ธฐ ์ํ ๋ชจ๋์ด ์ค์น๋์ด ์์์ง๋ง ์ ๋ ๊ทธ ๋ชจ๋์ ํ์ฑํํ์ง ์๊ณ ๋ชจ๋์ด ํ์ฑํ๋ผ์์ผ๋ฉด ์บ์ ํค๋๋ฅผ ์ค์ ํ๋ ์ฝ๋๋ง ์ถ๊ฐํด๋๊ณ , ๋น์ฐํ ์บ์ฑ์ ์ ๋๋ก ์๋ํ๊ณ ์์ง ์์์ต๋๋ค. ๊ทธ์ ๊ทธ
์๋ฐ์คํฌ๋ฆฝํธ๊ฐ ์ข ์ด์ํ ๊ตฌ์กฐ๋ฅผ ๋ณด์ด๋ ๋ถ๋ถ์ด ๋ง์์ ๊ทธ๋ฐ์ง ๊ทธ๋ฅ ์ฌ์ฉ์๊ฐ ๋ง์์ ๊ทธ๋ฐ์ง ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๊น๋ ๋ฐ์ด ์ฌ๊ธฐ์ ๊ธฐ ๋ง๋๋ผ๊ณ ์. this๋ ๊ฝค ์์ ์ ์ง์ฌ์ผ๋ก ๊น๋ ์ฌ๋๋ ๋ง์๊ณ , [] == 0์ด๊ณ "\t" == 0์ด์ง๋ง [] != "\t"์ธ ๊ธฐ๋ฌํ ๋ฑ์([] != []์ธ๋ฐ [] == "\t"์ธ๊ฒ ๋ ๊ธฐ๋ฌํ์ง ์์์๊น ์ถ์ง๋ง)์ ์ด์ฉํ ๊ฑด ๋ฌผ๋ก ์ด๊ฑฐ๋์, ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ธฐ๋ฌํจ์ ์ด์ฉํด []()!+ ๋ง์ผ๋ก ์ฝ๋ฉํ๋ JS**ck๊น์ง ๊ฝค
ํฐ์คํ ๋ฆฌ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋๋ค ํ๊ทธ ์นํ์๋ฅผ ์ ๊ณตํด์ค๋๋ค๋ง, ์ํ๋ ํ๊ทธ ๋ช ๊ฐ ์์์๋ง ๋๋ค์ผ๋ก ํ๊ทธ๋ฅผ ์ถ๋ ฅํ๊ณ ์ถ์ผ์ค ๋ ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
๊ฐ๋ ์น์ํํ๋ค ๋ณด๋ฉด ํ ์คํธ๋ฅผ ๋ณต์ฌํด๊ฐ๋ผ๊ณ ํด๋๋๋ฐ, context menu๋ฅผ ๋ง์๋ฌ์ ๋ชจ๋ฐ์ผ์์ ๋ณต์ฌํ ์ ์์ ๋๊ฐ ์์ต๋๋ค.๋ฌด๋ถ๋ณํ๊ฒ ํผ์ง ์ฐํด๋ฆญ ๋ฐฉ์ง ์คํฌ๋ฆฝํธ ๋๋ฌธ์ด์ง ์ถ์๋ฐ, ์ํ์๋ ๊ฒ ์ด๋ฏธ์ง์ ์ฐํด๋ฆญ ๋ฐฉ์ง๋ผ๋ฉด ์ด๋ฏธ์ง์ ์ฐํด๋ฆญ๋ง ๋ง์ ์ ์์ต๋๋ค. document.addEventListener("contextmenu", e => { e.target.matches("img") && e.preventDefault() }) ์ฌํ ์ฐํด๋ฆญ ๋ฐฉ์ง์์ ๋์๊ฐ ์ ์ฌ์ง์ฒ๋ผ ์ฐํด๋ฆญ์ ํ ์์น์ ์ ์๊ถ ๋ฌธ๊ตฌ๋ฅผ ํ๊ธฐํ๋ ์ปค์คํ ์ฐํด๋ฆญ ๋ฉ๋ด (context menu, ์ดํ ์ปจํ ์คํธ ๋ฉ๋ด)๋ฅผ ๋ง๋์ค
๊ฐ๋ onclick, onerror ๋ฑ์ ์ด๋ฒคํธ๊ฐ ํ ๋ฒ๋ง ์คํ๋ผ์ผ ํ ๋๊ฐ ์์ต๋๋ค. ๊ฐ๋ น ์ด๋ฏธ์ง์ ์๋ฌ๊ฐ ์์ ๋ ๊ทธ ์ด๋ฏธ์ง๋ฅผ ๋ค๋ฅธ ์ด๋ฏธ์ง๋ก ๊ต์ฒดํ๋ ํจ์๋ฅผ ๋ง๋ค์์ ๋, ๊ต์ฒด๋ ์ด๋ฏธ์ง์๋ ์๋ฌ๊ฐ ์๋ค๋ฉด ์ฌ๋ฌ๋ถ์ ์ฝ์์ ์ฐํ๋ ์ด๋ง์ด๋งํ ์์ 404 ์๋ฌ๋ฅผ ๋ณด์ค ์ ์์ ๊ฒ๋๋ค.์ก๋ ์ ๋ค์ด๊ณ ์. ๋คํํ๋, ์์ย ๋น์ทํย ์ํฉ์ ์๋ฐฉํ ์ ์๋๋ก ์ด๋ฒคํธ ๋ฆฌ์ค๋๊ฐ ํ ๋ฒ๋ง ์๋ํ๊ฒ ํ ์ ์๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด
์ ๋ธ๋ก๊ทธ์์ ๋๋ก์๋ฅผ ์ด๊ฑฐ๋, ํ ํ๋ฉด ์ฌ๋ผ์ด๋๋ฅผ ๋๊ธธ ๋ ์ฌ์ฉ ์ค์ธ ์ค์์ดํ ๊ฐ์ง ์คํฌ๋ฆฝํธ์ ๋๋ค. ๊ต์ฅํ ๋จ์ํ ๊ตฌ์กฐ์ง๋ง, ๊ฐ๋จํ ์ฌ์ฉ์ ํฌ๊ฒ ๋ฌด๋ฆฌ๊ฐ ์์ต๋๋ค.