À§·Î

°Ô½Ã¹° ¼öÁ¤Çϱâ(2)

HTML ¼Ò½º¸¦ Ư¼ö ¹®ÀÚ ÇüÅ·Πº¯È¯ÇÏ¿© contents Çʵ峻¿¡ ´ëÀÔÇÏ·Á¸é, "<", ">"¸¦ ±âÁØÀ¸·Î ű׸¦ Á¤ÀÇÇÏ´Â ºê¶ó¿ìÀú¿¡ ´ëÇØ ¾×Ƽºê½ºÄù¾î´Â ÀνÄÇÒ ¼ö ÀÖÁö¸¸ ºê¶ó¿ìÀú´Â ÀνÄÇÒ ¼ö ¾ø´Â ÇüÅ·Π¹Ù²Ù¾î¾ß ÇÕ´Ï´Ù.

HTMLÀÇ "<", ">"´Â &lt;, &gt;¸¦ ÀÌ¿ëÇØ Ư¼ö ¹®ÀÚ ÇüÅ·Πº¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô ű׸¦ HTMLÀÇ Æ¯¼ö¹®ÀÚ·Î º¯°æÇÏ¿© ¾×Ƽºê½ºÄù¾î¿¡ Àü´ÞÇϸé, ¾×Ƽºê½ºÄù¾î´Â À̸¦ ´Ù½Ã ¿øº» »óÅ·ΠÀνÄÇÏ¿© ¿øº» ³»¿ëÀ» Ç¥½ÃÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.

´ÙÀ½Àº ¼­¹ö»çÀ̵å(Server-Side) ½ºÅ©¸³Æ®·Î HTML ¼Ò½º¸¦ Ư¼ö ¹®ÀÚ ÇüÅ·Πº¯È¯ÇÏ¿© contents Çʵ忡 ´ëÀÔÇÏ´Â ºÎºÐÀ» HTML·Î Ãâ·ÂµÈ ³»¿ëÀÔ´Ï´Ù.

 

<...Áß·«...>

<INPUT type="hidden" name="contents" value="&lt;html&gt;&lt;head&gt;&lt;META HTTP-EQUIV=&quot;content-type&quot; CONTENT=&quot;text/html; charset=EUC-KR&quot;&gt;&lt;title&gt;ActiveSquare&lt;/title&gt;

&lt;/head&gt;&lt;body bgcolor=#ffffff text=#000000 link=#0000cc vlink=#551a8b alink=#ff0000 onLoad=&quot;sf();&quot;&gt;&lt;center&gt;

    &lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;br&gt;

    &lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;br&gt;&lt;form action=&quot;/search&quot; name=f&gt;

        &lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;/form&gt;&lt;p&gt;&lt;p&gt;&lt;font size=-1&gt;&amp;nbsp;&lt;/font&gt;

    &lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;font size=-1&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;br&gt;&lt;br&gt;&lt;span class=ko&gt;&lt;a href=/intl/ko/help.html&gt; µµ¿ò¸»&lt;/a&gt; - &lt;a href=/intl/ko/about.html&gt;Everything in ActiveSquare&lt;/a&gt; - &lt;a href=http://www.namo.com&gt;ActiveSquare in English&lt;/a&gt;

&lt;/span&gt;&lt;p&gt;&lt;font size=-2&gt;&amp;copy;2002 Google&lt;/font&gt;&lt;span class=ko&gt; - ActiveSquare searching for browser text.&lt;/span&gt;&lt;/center&gt;&lt;/body&gt;&lt;/html&gt;

">

<...Áß·«...>

 

À§¿¡¼­ Á¦½ÃÇÑ contents¸¦ ¾Æ·¡¿Í °°ÀÌ ¾×Ƽºê½ºÄù¾î¿¡ ÀÔ·ÂÇϸé Á¤»óÀûÀ¸·Î ¾×Ƽºê½ºÄù¾î¿¡¼­ ³»¿ëÀ» Ç¥½ÃÇÒ ¼ö ÀÖ°Ô µË´Ï´Ù.

 

<SCRIPT language="JScript" FOR="wec" EVENT="OnInitCompleted()">

    var form = document.editform;

    var wec = document.wec;

    wec.Value = form.contents.value;

</SCRIPT>

 

À§¿Í °°ÀÌ JScript ¹®¹ýÀº ÀϹÝÀûÀÎ JavaScript ¹®¹ý°ú Â÷À̰¡ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ ¹®¹ýÀº JScript¿¡¼­ ActiveX ÄÁÆ®·ÑÀÇ ¸Þ½ÃÁö¸¦ ó¸®Çϱâ À§ÇÑ ¹æ¹ýÀ¸·Î Java Script¿Í´Â ȣȯÀÌ µÇÁö ¾Ê´Â ¹®¹ýÀÔ´Ï´Ù. (µû¶ó¼­ Netscape¿¡¼­´Â ½ÇÇàµÇÁö ¾Ê½À´Ï´Ù.)

OnInitCompleted´Â ¾×Ƽºê½ºÄù¾îÀÇ ÃʱâÈ­°¡ ³¡³ª°í Á¤»óÀûÀÎ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Â ÃÖÃÊÀÇ »óŸ¦ ¸»ÇÕ´Ï´Ù.±×·¯¹Ç·Î ÀÌ ¸Þ½ÃÁö¿¡¼­ ÇÁ·Î±×·¡¹Ö ÇÏ±æ ¿øÇÏ´Â ÇüÅÂÀÇ Á¶ÀÛÀ» ÇÒ ¼ö ÀÖ½À´Ï´Ù.

»¡°£»öÀ¸·Î ÁöÁ¤ÇÑ ºÎºÐÀÌ Æû(Form)ÀÇ contents Çʵ带 ¾×Ƽºê½ºÄù¾î¿¡ ´ëÀÔÇÏ´Â ºÎºÐÀÔ´Ï´Ù. ÁÖÀÇÇØ¾ß ÇÒ °ÍÀº ±Û¾²±â ÇüÅÂ¿Í °°ÀÌ ¾×Ƽºê½ºÄù¾î¿¡¼­ ³»¿ëÀ» °¡Á®¿Ã ¶§´Â ¾×Ƽºê½ºÄù¾îÀÇ MIME Value Property¸¦ ÀÌ¿ëÇßÁö¸¸ µ¥ÀÌÅÍ °ªÀ» Àü´ÞÇÒ ¶§´Â Value Property¸¦ »ç¿ëÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù. À̰ÍÀº ÇöÀç contents Çʵ尡 °¡Áö°í ÀÖ´Â °ªÀÌ ÀÏ¹Ý HTML°ú °°±â ¶§¹®ÀÔ´Ï´Ù. ¸¸¾à ¼­¹ö¿¡ MIME ÇüÅ·Π¸ðµç °ªÀÌ ÀúÀåµÇ¾î ÀÖ´Ù¸é ¾×Æ¼ºê½ºÄù¾î¿¡ MIME Value Property¿¡ °ªÀ» ´ëÀÔÇÏ¸é µË´Ï´Ù.

HTML ű׸¦ Ư¼ö ¹®ÀÚ·Î º¯°æÇÏ´Â ºÎºÐÀÇ PHP ¼Ò½º´Â ´ÙÀ½°ú °°½À´Ï´Ù.

 

<..Áß·«..>

 

<INPUT type=hidden name=contents value="<?= htmlspecialchars($data[msgbody]);?>">

<INPUT type=hidden name=msgbody>

 

<..Áß·«..>

 

PHP´Â htmlspecialchars() ÇÔ¼ö°¡ ÁÖ¾îÁø ¹®ÀÚ¿­¿¡¼­ HTML ű׸¦ Ư¼ö¹®ÀÚ·Î º¯°æÇÏ¿© µ¹·ÁÁÖ´Â ±â´ÉÀ» ÇÕ´Ï´Ù. ´Ù¶ó¼­ À§¿Í °°ÀÌ °£´ÜÇÏ°Ô ¼öÁ¤ ÀÛ¾÷À» ¸¶Ä¥ ¼ö ÀÖ½À´Ï´Ù. º¸´Ù ÀÚ¼¼ÇÑ »çÇ×Àº http://www.php.net ÀÇ htmlspecialchars()¸¦ ÂüÁ¶ÇϽñ⠹ٶø´Ï´Ù.