ÁÖ·Î °ü¸®ÀÚ¸¸ °Ô½Ã¹°À» ¿Ã¸®°í Á¢¼ÓÀÚ´Â ¿¶÷¸¸ ÇÏ´Â µ¥ÀÌÅÍ º£À̽ºÀÇ °æ¿ì, ±×¸®°í ´ëºÎºÐÀÇ »ç¿ëÀÚ°¡ ¿ä±¸ÇÏ´Â µ¥ÀÌÅÍ°¡ 1M ¹Ì¸¸ÀÎ °æ¿ì, Á¢¼ÓÀÚ°¡ Á¢¼ÓÇϴ¼ø°£ µ¥ÀÌÅÍ º£À̽ºÀÇ ³»¿ëÀ» ±×´ë·Î Á¢¼ÓÀÚÀÇ ¸Þ¸ð¸®¿¡ ¿Ã·Á ¹ö·Á¼ ±×´ÙÀ½Àº Á¢¼ÓÀÚ°¡ °è¼Ó °Ë»öÀ» ÇÏ´Â ³»¿ëÀÌ ¸ðµÎ ¼¹ö¿ÍÀÇ ±³½Å ¾øÀÌ ÀÌ·ç¾î Áö°Ô ÇÏ¸é ¼¹öÀÇ ºÎÇϸ¦ ºñ¾àÀûÀ¸·Î ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. ƯÈ÷ ¿¬±¸ °ü·Ã »çÀÌÆ®¿¡¼ Çѹø Á¢¼ÓÇϸé Çѵν𣾿 °Ë»öÀ» ÇÏ´Â °æ¿ì À¯¿ëÇÏÁö¿ä. ±×·²¼ö ¹Û¿¡ ¾ø´Â °ÍÀÌ µ¥ÀÌÅÍ º£À̽º Äõ¸®µµ Çѹø, ¼¹ö¿¡¼ ÀڷḦ ÁÖ´Â °Íµµ Á¢¼ÓÇÑ ¼ø°£ Çѹø¿¡ ³¡³ª´Â °ÍÀ¸·Î½á ¼¹ö¿¡¼´Â ¼¼¼Ç µîÀÇ °ü¸®Á¶Â÷ ÇÊ¿ä¾ø¾î Áö´Ï±î¿ä.
ÀÌ°ÍÀº ÇÁ·¹ÀÓÀ» »ç¿ëÇؼ ÇÕ´Ï´Ù.
*** index.html ***
<html> <head> <title>Welcome</title> </head> <frameset rows="100%,0%" frameborder="NO" border="0" framespacing="0"> <frame name="main" src="home.html"> <frame name="process" scrolling="NO" noresize src="initializer.html"> </frameset> </html>
¿©±â¼ ¼¼°³ÀÇ ÆäÀÌÁö°¡ ·Îµù µÇ´Âµ¥¿ä. top ÇÁ·¹ÀÓÀº htmlÀÚü·Î´Â ¾Æ¹« ³»¿ëµµ ¾ø´Â °Í °°Áö¸¸ processÇÁ·¹ÀÓ¿¡¼ µ¹¾Æ°¡´Â javascript°¡ ¸ðµç µ¥ÀÌÅ͸¦ Å×À̺í Åë°·Î topÇÁ·¹ÀÓÀÇ ¸Þ¸ð¸®¿¡ ¿Ã·Á³õ½À´Ï´Ù. mainÇÁ·¹ÀÓ¿¡¼´Â ÀÌ µ¥ÀÌÅ͸¦ ÀÌ¿ëÇؼ °í°´¿¡°Ô °Ë»ö °á°ú¸¦ º¸¿©ÁÖ°Ô µÇ¸ç ¼¹ö¿Í´Â °í°´ÀÌ refresh¹öÆ°À» ´©¸£Áö ¾Ê´Â ÀÌ»ó ±³½ÅÇÏÁö ¾Ê½À´Ï´Ù. "°Ë»ö" ¹öÆ°À» ´©¸¥´Ù°í Çصµ ÆäÀÌÁö¸¦ »õ·Î ·ÎµåÇؼ º¸¿©ÁÖ´Â °ÍÀÌ ¾Æ´Ï¶ó javascript ÇÔ¼ö·Î ÆäÀÌÁö ÀÚü¸¦ »õ·Î buildÇؼ document.writeI()À¸·Î ½áÁֱ⠶§¹®¿¡ °í°´ÀÇ ÀÔÀå¿¡¼´Â ÆäÀÌÁö°¡ »õ·Î ·ÎµåµÈ °Í °°Áö¸¸ ½Ç»óÀº ¼¹ö¿Í ¾Æ¹«·± Åë½ÅÀÌ ¾øÁö¿ä.
±×·¯³ª ÇÁ·Î¼¼½º ÇÁ·¹ÀÓÀ» °í°´ÀÌ ±»ÀÌ º¸°ÔµÇ¸é (¾Æ¹«¸® º¸ÀÌÁö ¾Ê´Â ÇÁ·¹ÀÓÀ̶ó Çصµ º¼¼ö ÀÖÀ¸´Ï±î) ÀÚ·á Å×À̺íÀ» Åë°·Î º¸°í Ȳ´çÇØ ÇÒÅ×´Ï±î °í°´ÀÇ ¾È½ÉÀ» À§Çؼ ¾à°£ÀÇ ÆÁÀÌ ÇÊ¿äÇѵ¥ ¾Æ·¡ ÁÖ¼® ´Þ¸° ¼Ò½º¸¦ Àо¼¼¿ä. ¹°·Ð ÀÌ°ÍÀº ¾ó¸¶µçÁö ºê·¹ÀÌÅ© ÇÏ°í ¿¶÷ÇÒ ¼ö Àֱ⠶§¹®¿¡ Àý´ë·Î Àý´ë·Î º¸¾È»óÀÇ ÀÌÀ¯·Î´Â ¾µ¼ö ¾øÀ¸¸ç ´ÜÁö °í°´À» Æí¾ÈÇÏ°Ô ÇØÁÖ±â À§Çؼ ÇÏ´Â °Í »ÓÀÔ´Ï´Ù.
*** initializer.html *** //µ¥ÀÌÅÍ ±¸Á¶¿¡ ´ëÇÑ PHPŬ¶ó½º Á¤ÀÇ°¡ ¿©±â µé¾î ÀÖ½À´Ï´Ù. µðºñ¸¦ Á÷Á¢ ¿¢¼¼½º ÇÏ´Â °ÍÀº ÀÌ ÆäÀÌÁö »ÓÀÌ´Ï ´Ù¸¥ ÆäÀÌÁö¿¡¼´Â »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù. (´Ù¸¥ ÆäÀÌÁö¿¡¼´Â PHPÀÚü¸¦ »ç¿ëÇÏÁö ¾Ê½À´Ï´Ù) <?require "dbclass.inc";?> <html> <head> <title>Data Loader</title> //µ¥ÀÌÅÍ ±¸Á¶¿¡ ´ëÇÑ Javascript class Á¤ÀÇ°¡ ÀÌ ÆÄÀÏ¿¡ µé¾î ÀÖ½À´Ï´Ù. µ¥ÀÌÅ͸¦ »ç¿ëÇϱâ À§Çؼ´Â ¸ÞÀÎ ÇÁ·¹ÀÓÀÇ ÆäÀÌÁö¿¡¼µµ ¹°·Ð ÀÌ ½ºÅ©¸³Æ® ÆÄÀÏÀ» »ç¿ëÇؾßÁö¿ä. <script src='include/jslibrary.js'></script> <script> <? $s = " var w = window; var t = window.top; var d = window.document; //¸ðµç Á¤º¸´Â ž ÇÁ·¹ÀÓÀÇ ¸Þ¸ð¸®¿¡ »óÁÖÇÏ´Â windows.top.db ¿¡ ÀúÀåµË´Ï´Ù. t.db = new Object(); ";
$preload = array();
$preload["mydata"] = "SELECT * FROM mydata ORDER BY reg_date;"; $preload["mydata2"] = "SELECT * FROM anotherdata ORDER BY subject;";
// ¸ðµç µ¥ÀÌÅÍ´Â ÀÌ ÇÁ·¹ÀÓÀÌ ¾Æ´Ï¶ó Top ÇÁ·¹ÀÓÀÇ ¸Þ¸ð¸®¿¡ ÀúÀåµÇ±â ¶§¹®¿¡ ÀÌ ÇÁ·¹ÀÓÀÌ »ç¶óÁ®µµ »ó°ü ¾ø´Ù. foreach($preload as $key=>$val) { $q = sql_q($val); $class_name = "C".$key; $s .= 't.db.'.$key." = new Array();n"; while ($r = new $class_name(sql_r($q))) { $s .= 't.db.'.$key.'[t.db.'.$key.'.length] = '.$r->clientize().";n";
}
// ž ÇÁ·¹ÀÓÀÇ Flag¿¡ Ç¥½ÃÇؼ µ¥ÀÌÅÍ ¾÷·Îµå°¡ ³¡³µ´Ù´Â °ÍÀ» Ç¥½Ã. ¸ÞÀÎ ÆäÀÌÁö¿¡¼ ÂüÁ¶ÇÏ°í µ¥ÀÌÅÍ ¿¢¼¼½º¸¦ ½ÃÀÛÇÒ ¼ö ÀÖµµ·Ï
$s .= " t.loaded = true; " ;
// ÀÚ¹Ù½ºÅ©¸³Æ® ÅؽºÆ®¸¦ »Ñ·ÁÁÖ±â Àü¿¡ ¾à°£ Àбâ ÆíÇÏ°Ô(?) ¸¸µé¾îÁØ´Ù. // ¸ðµç ÄÚ¸àÆ® »èÁ¦, ÁٹٲÞ, ÅÇ, ÇÊ¿ä¾ø´Â ½ºÆäÀ̽º »èÁ¦. $search = array("'([rn])s+'i", "'(//.*n||[trn])'si", "'s*=s*'i", "',s+'i", "';s+'i"); $replace = array("", "", "=", ",", ";");
// °Å±â´Ù°¡ ´Ù½Ã º¸±âÁÁ°Ô(?) encoding ÇØÁÜ $s = rawurlencode(preg_replace($search, $replace, $s));
// ÀÚ¹Ù½ºÅ©¸³Æ®¿¡¼ ¹ÞÀº ´ÙÀ½¿¡ decodeÇؼ »ç¿ëÇϵµ·Ï (ÀÚ¹Ù½ºÅ©¸³ 1.1ºÎÅÍ Áö¿ø) echo "eval(unescape("$s"));"; ?>
// ¾Æ¹«¸® ¾Ë¾Æº¸±â Èûµé´Ù°í Çصµ ¿ª½Ã ¾Êº¸¿© ÁÖ´Â °ÍÀÌ ÃÖ°í! // ÆäÀÌÁö°¡ ·ÎµùµÇ´Â ¼ø°£ ´Ù½Ã ¸ðµç°ÍÀ» Áö¿ö¹ö¸°´Ù. // ÆäÀÌÁö¸¦ ´Ù ¸¸µç´ÙÀ½ ¹öÆÛ¿¡¼ »Ñ·ÁÁֱ⠶§¹®¿¡ ·ÎµùÀÌ ½ÃÀÛµÈÈÄ ³¡³ª°í Áö¿öÁö´Âµ¥ ±îÁö °É¸®´Â ½Ã°£Àº 0.01 ÃÊ? function done() { document.write(" "); document.close(); }
</script> </head> <body onload="done();"> </body> </html>
|