Server-side includes¸¦ »ç¿ëÇÏ¿© HTML ¹®¼¿¡ µ¿ÀûÀÎ ³»¿ëÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
SSI (Server Side Includes)´Â HTML ÆäÀÌÁö¿¡ »ç¿ëÇÏ´Â Áö½Ã¾î·Î, ÆäÀÌÁö¸¦ ¼ºñ½ºÇÒ¶§ ¼¹ö°¡ ó¸®ÇÑ´Ù. SSI¸¦ »ç¿ëÇϸé CGI ÇÁ·Î±×·¥À̳ª ´Ù¸¥ µ¿ÀûÀÎ ±â¼ú·Î ÆäÀÌÁö Àüü¸¦ ¸¸µé¾î¼ ¼ºñ½ºÇÏÁö ¾Ê°íµµ HTML ÆäÀÌÁö¿¡ µ¿ÀûÀ¸·Î »ý¼ºÇÑ ³»¿ëÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù.
SSI¸¦ »ç¿ëÇÒÁö ¾Æ´Ï¸é ÇÁ·Î±×·¥À¸·Î ÆäÀÌÁö Àüü¸¦ »ý¼ºÇÒÁö °áÁ¤Àº ÆäÀÌÁö¿¡¼ Á¤ÀûÀÎ ºÎºÐÀÌ ¸¹ÀºÁö¿Í ÆäÀÌÁö¸¦ ¼ºñ½ºÇÒ ¶§¸¶´Ù ¾î´ÀÁ¤µµ¸¦ ´Ù½Ã °è»êÇؾßÇÒÁö¿¡ ´Þ·È´Ù. SSI´Â ÇöÀç ½Ã°£°ú °°ÀÌ ÀûÀº Á¤º¸¸¦ Ãß°¡Çϴµ¥ ÁÁ´Ù. ±×·¯³ª ÆäÀÌÁö¸¦ ¼ºñ½ºÇÒ¶§ ÆäÀÌÁöÀÇ ´ëºÎºÐÀ» »ý¼ºÇØ¾ß ÇÑ´Ù¸é ´Ù¸¥ ¹æ¹ýÀ» ã¾ÆºÁ¾ß ÇÑ´Ù.
¼¹ö°¡ SSI¸¦ ó¸®ÇÏ·Á¸é httpd.conf
ÆÄÀÏÀ̳ª
.htaccess
ÆÄÀÏ¿¡¼ ´ÙÀ½ Áö½Ã¾î¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.
±×·¯¸é ¾ÆÆÄÄ¡´Â ÆÄÀÏ¿¡¼ SSI Áö½Ã¾î¸¦ ó¸®ÇÑ´Ù. ¼³Á¤¿¡´Â
º¸Åë ¿©·¯ Options
¸¦ »ç¿ëÇÑ´Ù.
¸ðµç ÆÄÀÏ¿¡¼ SSI Áö½Ã¾î¸¦ ó¸®ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¾ÆÆÄÄ¡¿¡°Ô
¾î¶² ÆÄÀÏÀ» ó¸®ÇÒÁö ¾Ë·ÁÁà¾ß ÇÑ´Ù. µÎ°¡Áö ¹æ¹ýÀÌ ÀÖ´Ù.
Çϳª´Â ´ÙÀ½°ú °°Àº Áö½Ã¾î·Î .shtml
°ú °°Àº ƯÁ¤
ÆÄÀÏ È®ÀåÀÚ¸¦ °¡Áø ÆÄÀÏÀ» ó¸®ÇÏ´Â ¹æ¹ýÀÌ´Ù.
ÀÌ ¹æ¹ýÀÇ ´ÜÁ¡Àº ÀÌ¹Ì ÀÖ´Â ÆäÀÌÁö¿¡ SSI Áö½Ã¾î¸¦ Ãß°¡ÇÏ´Â
°æ¿ì SSI Áö½Ã¾î¸¦ ó¸®ÇϱâÀ§ÇØ .shtml
È®ÀåÀÚ¸¦
ºÎ¿©Çϱ⶧¹®¿¡ ÆÄÀϸí°ú ÀÌ ÆäÀÌÁöÀÇ ¸ðµç ¸µÅ©¸¦ º¯°æÇؾß
ÇÏ´Â Á¡ÀÌ´Ù.
´Ù¸¥ ¹æ¹ýÀº
chmod
·Î ÆÄÀÏ¿¡ ½ÇÇà±ÇÇÑÀ» ÁÖ¸é µÈ´Ù.
ÇÏÁö ¸»¾Æ¾ß ÇÒ °Í Çϳª. °¡²û .shtml
ÆÄÀÏ¸í¿¡
°ñÄ¡¸¦ ¾ÎÁö¸»°í ¸ðµç .html
ÆÄÀÏÀ» SSI ó¸®Ç϶ó°í
Ãæ°íÇÏ´Â »ç¶÷ÀÌ ÀÖ´Ù. ÀÌ »ç¶÷µéÀº ¾Æ¸¶µµ
¹°·Ð À©µµ¿ìÁî¿¡¼´Â ½ÇÇà±ÇÇÑÀ̶õ °ÍÀÌ ¾ø±â¶§¹®¿¡ ÈÄÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù.
³»¿ëÀÌ µ¿ÀûÀÌ¿©¼ °è»êÇϱ⠾î·Æ±â¶§¹®¿¡ ¾ÆÆÄÄ¡ ±âº» ¼³Á¤Àº SSI ÆäÀÌÁöÀÇ ÃÖ±Ù¼öÁ¤ÀÏ°ú content length HTTP Çì´õ¸¦ º¸³»Áö ¾Ê´Â´Ù. ±×·¡¼ ¹®¼¸¦ ij½¬ÇÏÁö ¸øÇÏ°í Ŭ¶óÀ̾ðÆ®°¡ ´À³¢´Â ¼º´ÉÀÌ ¶³¾îÁø´Ù. µÎ°¡Áö ÇØ°á¹æ¹ýÀÌ ÀÖ´Ù.
XBitHack Full
¼³Á¤Àº »ç¿ëÇÑ´Ù. ±×·¯¸é
¾ÆÆÄÄ¡´Â Æ÷ÇÔÇÏ´Â(include) ÆÄÀϵéÀÇ ¼öÁ¤ÀÏÀº ¹«½ÃÇÑü
¿ø·¡ ¿äûÇÑ ÆÄÀÏÀÇ ³¯Â¥¸¸ º¸°í ÃÖ±Ù¼öÁ¤ÀÏÀ» ¾Ë¾Æ³½´Ù.SSI Áö½Ã¾îÀÇ »ç¿ë¹ýÀº ´ÙÀ½°ú °°´Ù.
HTML ÁÖ¼®°°ÀÌ »ý°å±â¶§¹®¿¡ SSI ±â´ÉÀ» °¡µ¿ÇÏÁö ¾Ê¾Æµµ HTML ¼Ò½º¿¡´Â ³ª¿ÀÁö¸¸ ºê¶ó¿ìÀú´Â ¹«½ÃÇÑ´Ù. SSI¸¦ ¿Ã¹Ù·Î ¼³Á¤Çϸé Áö½Ã¾î¸¦ °á°ú°ªÀ¸·Î ¹Ù²Û´Ù.
element´Â ´ÙÀ½Áß Çϳª´Ù. ´ÙÀ½ ȸ¿¡ ´õ ÀÚ¼¼È÷ ¼³¸íÇÒ °ÍÀÌ´Ù. Áö±ÝÀº SSI·Î ÇÒ ¼ö ÀÖ´Â ¸î°¡Áö ¿¹¸¦ º¸ÀδÙ
echo
element´Â º¯¼ö°ªÀ» ±×´ë·Î Ãâ·ÂÇÑ´Ù.
CGI ÇÁ·Î±×·¥¿¡ Á¦°øÇϴ ȯ°æº¯¼öµé ¿Ü¿¡µµ ¿©·¯ Ç¥ÁØ º¯¼ö°¡
ÀÖ´Ù. ¶Ç, set
element¸¦ »ç¿ëÇÏ¿© Á÷Á¢ º¯¼ö¸¦
Á¤ÀÇÇÒ ¼öµµ ÀÖ´Ù.
³¯Â¥ Ãâ·Â Çü½ÄÀÌ ¸¶À½¿¡ µéÁö ¾Ê´Â´Ù¸é, ´ÙÀ½°ú °°ÀÌ
config
elementÀÇ timefmt
attribute¸¦
»ç¿ëÇÑ´Ù.
ÀÌ elementµµ timefmt
Çü½Ä ¼³Á¤¿¡ ´Þ·È´Ù.
ÀϹÝÀûÀÎ SSI »ç¿ë¹ýÁß Çϳª·Î, ¸¹ÀÌµé ¾Ö¿ëÇÏ´Â ``¹æ¹®¼ö Ä«¿îÅÍ'' °°Àº CGI ÇÁ·Î±×·¥ °á°ú¸¦ Ãâ·ÂÇÑ´Ù.
´ÙÀ½Àº HTML ¹®¼¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸î°¡Áö SSI ¿¹Á¦´Ù.
¾Õ¿¡¼ SSI¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ¿¡°Ô ¹®¼ÀÇ ÃÖ±Ù¼öÁ¤ÀÏÀ» ¾Ë¸± ¼ö ÀÖ´Ù°í ¸»Çß´Ù. ±×·¯³ª ½ÇÁ¦ ¹æ¹ýÀº ¾Ë·ÁÁÖÁö ¾Ê¾Ò´Ù. ´ÙÀ½ Äڵ带 HTML ¹®¼¿¡ »ç¿ëÇϸé ÆäÀÌÁö¿¡ ½Ã°£ ±â·ÏÀ» ³²±ä´Ù. ¹°·Ð À§¿¡¼ ¼³¸íÇÑ´ë·Î SSI°¡ ¿Ã¹Ù·Î ÀÛµ¿ÇØ¾ß ÇÑ´Ù.
¹°·Ð ssi.shtml
´ë½Å ¿øÇÏ´Â ½ÇÁ¦ ÆÄÀϸíÀ»
»ç¿ëÇÑ´Ù. ¾Æ¹« ÆäÀÌÁö¿¡¶óµµ ºÙ¿©³ÖÀ» ¼ö ÀÖ´Â ¹ü¿ëÄڵ带
¿øÇÑ´Ù¸é, ÆÄÀÏ¸í ´ë½Å LAST_MODIFIED
º¯¼ö¸¦
»ç¿ëÇÑ´Ù.
timefmt
Çü½Ä¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â °Ë»ö¿£Áø¿¡¼
strftime
À» ã¾ÆºÁ¶ó. ¹®¹ýÀº °°´Ù.
½Ã°£ Çü½Ä config
(¼³Á¤) ¿Ü¿¡ µÎ°¡Áö¸¦ ´õ
config
(¼³Á¤)ÇÒ ¼ö ÀÖ´Ù.
º¸Åë SSI Áö½Ã¾î°¡ À߸øµÇ¸é ´ÙÀ½°ú °°Àº ¹®±¸°¡ ³ª¿Â´Ù
ÀÌ ¹®±¸¸¦ º¯°æÇÏ°í ½Í´Ù¸é config
elementÀÇ
errmsg
attribute¸¦ »ç¿ëÇÏ¿© º¯°æÇÑ´Ù.
»çÀÌÆ®¸¦ ¼ºñ½ºÇϱâ Àü¿¡ ¸ðµç SSI Áö½Ã¾î ¹®Á¦¸¦ ÇØ°áÇÏ¿© »ç¿ëÀÚ°¡ ÀÌ·± ¹®±¸¸¦ º¸Áö ¾Ê±æ ¹Ù¶õ´Ù. (±×·¸Áö?)
±×¸®°í sizefmt
attribute°¡ ¹ÝȯÇÏ´Â ÆÄÀÏÅ©±â
Çü½ÄÀ» config
(¼³Á¤)ÇÒ ¼ö ÀÖ´Ù. ¹ÙÀÌÆ®·Î Å©±â¸¦
º¸¿©ÁÖ·Á¸é bytes
, ÀûÀýÈ÷ Kb³ª Mb·Î Å©±â¸¦
º¸¿©ÁÖ·Á¸é abbrev
¸¦ »ç¿ëÇÑ´Ù.
³ª´Â ´ÙÀ½ ´Þ¿¡ ÀÛÀº CGI ÇÁ·Î±×·¥°ú SSI¸¦ °°ÀÌ »ç¿ëÇÏ´Â
±ÛÀ» ¾µ ¿¹Á¤ÀÌ´Ù. Áö±ÝÀº exec
element·Î ÇÒ
¼ö ÀÖ´Â ´Ù¸¥ °ÍµéÀ» ¼³¸íÇÒ °ÍÀÌ´Ù. SSI´Â ½ÇÁ¦ ½©À» (Á¤È®È÷´Â
/bin/sh
³ª Win32¸¦ »ç¿ëÇÑ´Ù¸é DOS ½©) »ç¿ëÇÏ¿©
¸í·É¾î¸¦ ½ÇÇàÇÑ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½Àº µð·ºÅ丮 ¸ñ·ÏÀ» º¸¿©ÁØ´Ù.
or, on Windows
dir
Ãâ·Â¿¡ ºê¶ó¿ìÀú°¡ È¥µ¿ÇÒ
``<dir
>'' ¹®ÀÚ¿ÀÌ Æ÷ÇÔµÇÀֱ⶧¹®¿¡,
À©µµ¿ìÁî¿¡¼ ÀÌ Áö½Ã¾î¸¦ »ç¿ëÇÏ¸é °á°ú°¡ Á¶±Ý ÀÌ»óÇÒ °ÍÀÌ´Ù.
ÀÌ ±â´ÉÀº exec
ű׿¡ »ç¿ëÇÑ ¾î¶² ¸í·É¾î¶óµµ
½ÇÇàÇÒ ¼ö Àֱ⶧¹®¿¡ ¸Å¿ì À§ÇèÇÏ´Ù. ``¹æ¸í·Ï''°ú °°ÀÌ »ç¿ëÀÚ°¡
À¥ÆäÀÌÁö ³»¿ëÀ» ¼öÁ¤ÇÒ ¼ö Àִ ȯ°æÀ̶ó¸é, ÀÌ ±â´ÉÀ» Àý´ë·Î
»ç¿ëÇؼ± ¾ÈµÈ´Ù. Options
Áö½Ã¾î¿¡
IncludesNOEXEC
¾Æ±Ô¸ÕÆ®¸¦ »ç¿ëÇÏ¿© SSI¸¦ Çã¿ëÇÏÁö¸¸
exec
±â´ÉÀ» ¸·À» ¼ö ÀÖ´Ù.
³»¿ëÀ» Ãâ·ÂÇÏ´Â ±â´É ¿Ü¿¡ ¾ÆÆÄÄ¡ SSI´Â º¯¼ö ¼³Á¤ÀÌ °¡´ÉÇÏ°í, ºñ±³¹®°ú Á¶°Ç¹®¿¡ ÀÌ º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
ÀÌ ±Û¿¡¼ ¼³¸íÇÏ´Â ´ëºÎºÐÀÇ ±â´ÉÀº ¾ÆÆÄÄ¡ 1.2 ÀÌÈĺÎÅÍ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹°·Ð, ¾ÆÆÄÄ¡ 1.2 ÀÌ»óÀ» »ç¿ëÇÏÁö ¾Ê´Â´Ù¸é ¾Æ¸¶µµ »¡¸® ¾÷±×·¹À̵åÇØ¾ß ÇÑ´Ù. Çضó. Áö±Ý Çضó. ±â´Ù¸± °ÍÀÌ´Ù.
set
Áö½Ã¾î¸¦ »ç¿ëÇÏ¿© ³ªÁß¿¡ »ç¿ëÇÒ º¯¼ö¸¦
¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¾ÕÀ¸·Î º¯¼ö°¡ ÇÊ¿äÇϱ⶧¹®¿¡ ¸ÕÀú ¼³¸íÇÑ´Ù.
¹®¹ýÀº ´ÙÀ½°ú °°´Ù.
´ÙÀ½°ú °°ÀÌ °ªÀ» ¹®ÀÚ±×´ë·Î ¼³Á¤ÇÏÁö ¾Ê°í ȯ°æº¯¼ö³ª À§¿¡¼ ¼³¸íÇÑ º¯¼ö(¿¹¸¦
µé¾î, LAST_MODIFIED
)¿Í °°ÀÌ ´Ù¸¥ º¯¼ö¸¦ »ç¿ëÇÏ¿©
º¯¼ö°ªÀ» ¼³Á¤ÇÒ ¼öµµ ÀÖ´Ù. À̶§ º¯¼ö¸í ¾Õ¿¡ ´Þ·¯ Ç¥½Ã($)¸¦
ºÙ¿©¼ ¹®ÀÚ¿ÀÌ ¾Æ´Ñ º¯¼öÀÓÀ» Ç¥½ÃÇÑ´Ù.
º¯¼ö°ª¿¡ ´Þ·¯ ¹®ÀÚ¸¦ ±×´ë·Î ÀÔ·ÂÇÏ·Á¸é ´Þ·¯ Ç¥½Ã ¾Õ¿¡ ¹é½½·¡½¬¸¦ »ç¿ëÇÑ´Ù.
¸¶Áö¸·À¸·Î ±ä ¹®ÀÚ¿ Áß°£¿¡ º¯¼ö¸¦ »ç¿ëÇϴµ¥ µÚ¿¡ ÀÖ´Â ¹®ÀÚµµ º¯¼ö¸íÀ¸·Î ¿ÀÀÎÇÏ¿© È¥µ¿µÇ´Â °æ¿ì, º¯¼ö¸íÀ» ´ë°ýÈ£·Î ¹¾î¼ È®½ÇÈ÷ ÇÑ´Ù. (ÁÁÀº ¿¹¸¦ ã±â ÈûµéÁö¸¸, ¹«½¼ ¸»ÀÎÁö ÀÌÇØÇÏ±æ ¹Ù¶õ´Ù.)
º¯¼ö¸¦ ¼³Á¤ÇÏ°í ºñ±³ÇÒ ¼ö ÀÖÀ¸´Ï Á¶°Ç¹®ÀÌ °¡´ÉÇÏ´Ù. ÀÌÁ¦
SSI°¡ ÀÏÁ¾ÀÇ °£´ÜÇÑ ÇÁ·Î±×·¡¹Ö¾ð¾î°¡ µÈ´Ù.
if
,
elif
, else
, endif
±¸Á¶¸¦ Á¦°øÇÑ´Ù. ½ÇÁ¦ ÇÑ ÆäÀÌÁö·Î ¿©·¯ ³í¸®ÀûÀÎ ÆäÀÌÁö¸¦
¸¸µé ¼ö ÀÖ´Ù.
Á¶°Ç¹® ±¸Á¶´Â ´ÙÀ½°ú °°´Ù.
test_condition¿¡´Â ¾î¶² ³í¸®ºñ±³¶óµµ »ç¿ëÇÒ
¼ö ÀÖ´Ù. °ªÀ» ´Ù¸¥ °ª°ú ºñ±³Çϰųª, ƯÁ¤ °ªÀÌ ``Âü''ÀÎÁö
°Ë»çÇÑ´Ù. (¹®ÀÚ¿ÀÌ ºñ¾îÀÖÁö ¾ÊÀ¸¸é ÂüÀÌ´Ù.) »ç¿ë°¡´ÉÇÑ
ºñ±³ ¿¬»êÀÚ¸¦ ¸ðµÎ º¸·Á¸é,
¼³Á¤ÆÄÀÏ¿¡ ´ÙÀ½ ÁÙÀ» Ãß°¡ÇÑ´Ù.
Ŭ¶óÀ̾ðÆ®°¡ ¸ÆŲÅä½Ã¿¡¼ ½ÇÇàÇÏ´Â Internet Explorer¶ó¸é ȯ°æº¯¼ö ``Mac''°ú ``InternetExplorer'' ¸ðµÎ ÂüÀ¸·Î ¼³Á¤ÇÑ´Ù.
±×¸®°í SSI ¹®¼¿¡ ´ÙÀ½°ú °°ÀÌ Àû´Â´Ù.
³»°¡ ¸ÅŲÅä½Ã IE¿¡ ¹Ý°¨ÀÌ ÀÖ´Â °ÍÀº ¾Æ´Ï´Ù. ³ª´Â ´ÜÁö Àú¹øÁÖ¿¡ ´Ù¸¥ °÷¿¡¼´Â ¹®Á¦°¡ ¾ø´Â JavaScript Äڵ尡 ¸ÅŲÅä½Ã IE¿¡¼´Â µ¿ÀÛÇÏÁö ¾Ê¾Æ¼ ¸î½Ã°£À» °í»ýÇß´Ù. À§´Â Àӽà ÇØ°áÃ¥ÀÌ´Ù.
(Á÷Á¢ Á¤ÀÇÇÏ¿´°Ç ÀÏ¹Ý È¯°æº¯¼öÀÌ°Ç) ¾î¶² º¯¼ö¶óµµ Á¶°Ç¹®¿¡
»ç¿ëÇÒ ¼ö ÀÖ´Ù. ¾Æ¶óÄ¡´Â SetEnvIf
³ª ´Ù¸¥ °ü·Ã
Áö½Ã¾î·Î ȯ°æº¯¼ö¸¦ ¼³Á¤ÇÒ ¼ö Àֱ⶧¹®¿¡ CGI ¾øÀ̵µ ¸ÚÁö°Ô
µ¿ÀûÀÎ ³»¿ëÀ» ¸¸µé ¼ö ÀÖ´Ù.
SSI´Â È®½ÇÈ÷ CGI³ª µ¿ÀûÀÎ À¥ÆäÀÌÁö¸¦ »ý¼ºÇÏ´Â ´Ù¸¥ ±â¼úÀ» ´ëüÇÒ ¼ö ¾ø´Ù. ±×·¯³ª ¸¹Àº Ãß°¡ ÀÛ¾÷¾øÀÌ ÆäÀÌÁö¿¡ µ¿ÀûÀÎ ³»¿ëÀ» Á¶±Ý Ãß°¡Çϱ⿡´Â ÈǸ¢ÇÑ ¹æ¹ýÀÌ´Ù.