À§·Î

¼­¹ö¿¡¼­ÀÇ µ¥ÀÌÅÍ Ã³¸®Çϱâ

¾×Ƽºê½ºÄù¾î°¡ Àû¿ëµÈ °Ô½ÃÆÇ¿¡¼­ ÀÔ·ÂµÈ µ¥ÀÌÅÍÀÇ Ã³¸® ¹æ¹ýÀº ÀÏ¹Ý °Ô½ÃÆÇÀÇ Ã³¸® ¹æ¹ý°ú À¯»çÇÕ´Ï´Ù. ´Ù¸¸ ¾×Ƽºê½ºÄù¾î¿¡¼­ ÀÛ¼ºµÈ ³»¿ë¸¸ ´Ù¸£°Ô 󸮵˴ϴÙ.

¼­¹ö¿¡¼­ÀÇ µ¥ÀÌÅÍ Ã³¸®

¾×Ƽºê½ºÄù¾î¿¡¼­ 󸮵Ǵ ÆÄÀÏÀÇ ÇüÅ´ ´ÙÀ½°ú °°½À´Ï´Ù.

1

µ¥ÀÌÅ͸¦ Á÷Á¢ DB(¶Ç´Â ÆÄÀÏ)¿¡ ÀúÀåÇÏ´Â ¹æ¹ý

2

MIME µðÄÚ´õ¸¦ ÅëÇØ µ¥ÀÌÅ͸¦ ÆÄÀϰú º»¹®À¸·Î ºÐ¸®ÇÏ¿© ÀúÀåÇÏ´Â ¹æ¹ý

 

°Ô½ÃÆÇÀÇ °æ¿ì ÀÛ¼ºµÈ ºÐ¹®Àº ÅØ½ºÆ®À̹ǷΠ´Ü¼øÈ÷ HTML ű׸¦ ºÐ¸®Çϰųª Ư¼ö ±âÈ£ µîÀ» ó¸®ÇÏ¿© DB¿¡ ÀúÀåÇÕ´Ï´Ù. ¸¸¾à ÷ºÎ ÆÄÀÏÀÌ ÀÖÀ» °æ¿ì À̸¦ DB¿¡ ³ÖÀ» ¼öµµ ÀÖ°í, º°µµÀÇ ¾÷·Îµå(Upload) µð·ºÅ丮¿¡ ¸¶·ÃµÈ ±ÔÄ¢¿¡ µû¶ó ÀúÀåÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.

¾×Ƽºê½ºÄù¾î¿¡¼­ ¸¸µç µ¥ÀÌÅÍ´Â ÅØ½ºÆ®, HTML, MIME ÇüÅ·Π³ª´­ ¼ö ÀÖÀ¸¸ç, ±× Áß MIME ÇüŰ¡ ¾×Ƽºê½ºÄù¾îÀÇ ¸ðµç ±â´ÉÀ» Æ÷ÇÔÇϰí ÀÖ´Â °æ¿ì¶ó ÇÒ ¼ö ÀÖ½À´Ï´Ù. MIME ÇüÅ´ µ¥ÀÌÅÍ¿¡¼­ ¿©·¯ °¡Áö ÇüÅÂÀÇ ÆÄÀÏ, °³Ã¼, Ç÷¡½Ã ÆÄÀϰú º»¹® HTMLÀ» °°ÀÌ Àü¼Û¹ÞÀ» ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ÀÌ¿Í °°ÀÌ MIME ÇüÅÂÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾Æ¿Ã °æ¿ì ¾×Ƽºê½ºÄù¾î°¡ Àû¿ëµÇÁö ¾ÊÀº °Ô½ÃÆÇ¿¡¼­´Â ó¸®ÇÒ ¼ö ¾ø½À´Ï´Ù.

¾×Ƽºê½ºÄù¾î°¡ Àû¿ëµÇÁö ¾ÊÀº °Ô½ÃÆÇ

¸¸¾à MIME ÇüÅÂÀÇ µ¥ÀÌÅ͸¦ DB¿¡ ÀúÀåÇÑ´Ù¸é, Internet ExplorerÀÇ °æ¿ì MHT ÆÄÀÏÀ» Áö¿øÇÏÁö¸¸, ¸ðµç µ¥ÀÌÅÍÀÇ ³»¿ëÀ» Internet Explorer¿¡ Àü¼ÛÇÒ ¶§ HTTP Header¿¡ MIME Message ŸÀÔÀ¸·Î ÁÙ °æ¿ì µðÄÚµù(Decoding)ÇÏ¿© Ç¥½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÏÁö¸¸ ƯÁ¤ÇÑ Æ÷¸Ë(Format)ÀÇ ÇüÅ·Π°Ô½Ã¹°À» Ç¥ÇöÇϱâ´Â ¾î·Æ½À´Ï´Ù. ¶ÇÇÑ DB¿¡¼­ º»¹®¿¡ ´ëÇÏ¿© °Ë»öÇÒ ¼ö ÀÖ´Â ¹æ¹ýµµ ¾ø½À´Ï´Ù. ¸¸¾à DB¸¦ MY-SQLÀ» »ç¿ëÇÏ´Â °æ¿ì¶ó¸é Full Text Search¸¦ ½ÇÇàÇϰųª, WhereÀýÀÇ like ±¸¹®À¸·Î °Ë»öÇϱⰡ ¾î·Æ±â ¶§¹®ÀÔ´Ï´Ù. µû¶ó¼­ MIME µ¥ÀÌÅ͸¦ Á÷Á¢ DB¿¡ ÀúÀåÇϰųª, ÆÄÀÏ ÇüÅ·Πº¸°üÇÏ´Â ¹æ¹ýÀº ½Ã½ºÅÛÀÇ È¿À²À» ÁÁÁö ¾Ê°Ô ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.

¾×Ƽºê½ºÄù¾î°¡ Àû¿ëµÇ´Â °Ô½ÃÆÇ

MIME µ¥ÀÌÅ͸¦ HTML º»¹®°ú Æ÷ÇÔµÈ ÆÄÀÏÀ» ºÐ¸®ÇÏ¿© ÀúÀåÇÏ´Â ¹æ½ÄÀÌ °¡Àå ÀϹÝÀûÀ̸ç, È¿À²ÀûÀÔ´Ï´Ù. HTMLÀÇ °æ¿ìµµ DB¿¡ ÀúÀåÇÑ ÈÄ Æ÷ÇÔµÈ ÆÄÀÏÀº º°µµÀÇ µð·ºÅ丮¿¡ ÀúÀåÇÏ´Â ¹æ¹ýÀ» ±ÇÀåÇÕ´Ï´Ù. (¸¸¾à Æ÷ÇÔµÈ ÆÄÀÏÀ» DB¿¡ ³ÖÀ» °æ¿ì ¸î°¡Áö DBÀÇ ÇüÅ¿¡ µû¶ó ¿©·¯ °¡Áö ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.)

¾×Ƽºê½ºÄù¾î¿¡¼­ MIME Encoded Data¸¦ Internet Explorer·Î Àü´Þ¹Þ¾Æ¼­ À̸¦ Form Data·Î À¥ ¼­¹ö¿¡ Àü´ÞÇϸé, À¥ ¼­¹ö´Â ¼­¹ö»çÀÌµå ½ºÅ©¸³Æ®(Server-Side Script)¿¡¼­ ºÐ¸®ÇÏ´Â ÀÛ¾÷À» ÅëÇØ¼­ HTML°ú Æ÷ÇÔµÈ ÆÄÀÏ·Î ºÐ¸®ÇÕ´Ï´Ù. HTMLÀº DB¿¡ ÀúÀåµÇ°í, Æ÷ÇÔµÈ ÆÄÀÏÀº File System¿¡ ÀúÀåµË´Ï´Ù.

 

 

¼Ò½º¿¡¼­ÀÇ Ã³¸®

´ÙÀ½Àº °Ô½ÃÆÇ ±Û¾²±â ¼Ò½ºÀÇ ÀϺκÐÀÔ´Ï´Ù.

 

        $uploadPath = $BBS_DATA_PATH . $MsgNo . "/";   // Upload path

        $uploadUrl = $BBS_DATA_URL . $MsgNo . "/";        // Upload URL

 

        @mkdir($uploadPath, 0777);                                        // µð·ºÅ丮 ¸¸µé±â

 

        $upfiles = UploadFilesProcess($HTTP_POST_FILES, $uploadPath);     // ¾÷·Îµå ÆÄÀÏ Ã³¸®

        InsertUpfiles($upfiles, $rCon, $MsgNo);

 

        $mime = new wec4decoder($msgbody);             // MIME Decoding

        $mime->item_dir = $uploadPath;                         // ¾÷·Îµå À§Ä¡¿Í ¾÷·ÎµåµÈ ÆÄÀÏÀÇ URL Base¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

        $mime->item_url = $uploadUrl;

        $mime->run();                                                      // Decoding!

 

$MsgNoÀº ÇöÀç ÀúÀåÇÒ °Ô½Ã¹°ÀÇ ÀÏ·Ã ¹øÈ£ÀÔ´Ï´Ù. °Ô½ÃÆÇ¿¡¼­´Â ÀÌ ÀÏ·Ã ¹øÈ£·Î ±¸ºÐÇÏ¿© °Ô½Ã¹°ÀÌ ÀúÀåµÉ µð·ºÅ丮¸¦ ƯÁ¤ µð·ºÅ丮 ¾Æ·¡¿¡ ¸¸µé °Ô µË´Ï´Ù. ±×¸®°í ÅØ½ºÆ®¿¡ Æ÷ÇÔµÈ ÆÄÀÏÀ» ÀÌ µð·ºÅ丮¿¡ ÀúÀåÇϰí, HTML º»¹®¿¡ Ç¥½ÃµÈ ÆÄÀÏÀÇ ¸µÅ©¸¦ ÀúÀåÇÑ ¸µÅ©·Î º¯È¯ÇÕ´Ï´Ù. ±×·¯¹Ç·Î HTML ÆÄÀÏÀ» »ç¿ëÀÚ¿¡°Ô Àü¼ÛÇÏ¿©µµ º°µµÀÇ Ã³¸®°¡ ÇÊ¿ä¾øÀÌ Æ÷ÇÔµÈ ÆÄÀÏÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.

ÅØ½ºÆ®¿Í Æ÷ÇÔµÈ ÆÄÀÏÀ» ºÐ¸®Çϱâ À§ÇØ wec4decoder.php¸¦ ÀÌ¿ëÇϰí ÀÖ½À´Ï´Ù. JSP³ª SurveltÀÇ °æ¿ì Java Mail 1.2 APIÀÇ MimeUtility Ŭ·¡½º¸¦ ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. PHPÀÇ °æ¿ì º°µµ·Î MIMEÀ» µðÄÚµù(Decoding)ÇÒ ¼ö Àִ Ŭ·¡½º¸¦ Á÷Á¢ ±¸ÇöÇØ¾ß ÇÕ´Ï´Ù. º» °Ô½ÃÆÇ ¼Ò½º¿¡¼­´Â PHP 4 ¹öÀü¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ÇÁ·ÎÅä ŸÀÔ(ProtoType) Ŭ·¡½º°¡ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.

wec4decoder.php Ŭ·¡½º´Â ÆÄÀÏÀÌ ½ÇÁ¦·Î ÀúÀåÇÒ À§Ä¡¿Í ÆÄÀÏÀÌ À¥À¸·ÎºÎÅÍ ¾×¼¼½º(Access)ÇÒ ¼ö ÀÖ´Â URLÀ» ÁöÁ¤Çϸé, ÀúÀåÇÒ °÷¿¡ Æ÷ÇÔµÈ ÆÄÀÏÀ» ºÐ¸®ÇÏ¿© ÀúÀåÇϰí, HTML ¼Ò½º»ó¿¡ Æ÷ÇÔµÈ ÆÄÀÏÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÑ URL·Î º¯°æÇÕ´Ï´Ù.