Mustache.js: < ๋ฐ >๋ฅผ < ๋ฐ >๋กœ ๋Œ€์ฒด

์— ๋งŒ๋“  2011๋…„ 08์›” 05์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: janl/mustache.js

๋‚ด ๋ฐ์ดํ„ฐ ๊ฐœ์ฒด ์ค‘ ์ผ๋ถ€๋Š” "<" ๋ฐ ">" ๋กœ ๋‘˜๋Ÿฌ์‹ธ์ธ ์ผ๋ฐ˜ ํƒœ๊ทธ์™€ ํ•จ๊ป˜ ์ค€๋น„๋œ HTML์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Mustache.js๋Š” ์ด๊ฒƒ์„ &lt; ๋ฐ &gt; ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ ์ถœ๋ ฅ์— String.replace(/&gt;/g,'>').replace(/&lt;/g,'<') ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋งŽ์€ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์˜ˆ์ƒ๋œ ๋™์ž‘์ž…๋‹ˆ๊นŒ? < ๋ฐ >๋ฅผ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ด ๊ธฐํ˜ธ๋ฅผ ์–ด๋–ป๊ฒŒ๋“  ์ด์Šค์ผ€์ดํ”„ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

{{data}} (์ด์ค‘ ์ฝง์ˆ˜์—ผ)๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ํ•ญ์ƒ html ๋ฌธ์ž๊ฐ€ ์ด์Šค์ผ€์ดํ”„๋ฉ๋‹ˆ๋‹ค. ํƒˆ์ถœ์„ ์›ํ•˜์ง€ ์•Š์œผ๋ฉด {{{data}}} (์‚ผ์ค‘ ์ฝง์ˆ˜์—ผ)์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

๋ชจ๋“  5 ๋Œ“๊ธ€

{{data}} (์ด์ค‘ ์ฝง์ˆ˜์—ผ)๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ํ•ญ์ƒ html ๋ฌธ์ž๊ฐ€ ์ด์Šค์ผ€์ดํ”„๋ฉ๋‹ˆ๋‹ค. ํƒˆ์ถœ์„ ์›ํ•˜์ง€ ์•Š์œผ๋ฉด {{{data}}} (์‚ผ์ค‘ ์ฝง์ˆ˜์—ผ)์„ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค.

์˜ค, ๋ฉ‹์ง€๋‹ค! ๋‚˜๋Š” ๊ทธ๊ฒƒ์„ ๋ชฐ๋ž๋‹ค. ๊ณ ๋งˆ์›Œ, ๋“€ํผ.

@amper5and : {{{ data }}} ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ XSS ๋˜๋Š” CSRF ์ทจ์•ฝ์ ์„ ์ƒ์„ฑํ•˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ๊ฒƒ์€ _๋‹น์‹ ์˜_ ์ฑ…์ž„์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ {{&data}} ๊ตฌ๋ฌธ์€ ์‚ฌ์šฉํ•ด๋ณธ ์ ์ด ์—†์ง€๋งŒ ๋™์ผํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ฉ‹์ง€๋‹ค๐Ÿ‘!!!!

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰