SSI´Â Server Side IncludesÀÇ ¾àÀÚ·Î ¼¹öÃø¿¡¼ Çؼ®µÇ´Â ¹®¼¸¦ ÁöĪÇÑ´Ù. º¸Åë HTML ¹®¼´Â À¥ ¼¹ö¿¡¼ ¾Æ¹«·± ó¸® ¾øÀÌ Å¬¶óÀ̾ðÆ®ÃøÀ¸·Î Àü¼ÛÇØ ÁÖÁö¸¸ SSI ¹®¼¿¡ ´ëÇؼ´Â Ŭ¶óÀ̾ðÆ® ÃøÀ¸·Î º¸³»ÁÖ±â Àü¿¡ À¥ ¼¹ö°¡ HTML ¹®¼ ¾È¿¡ ÀÖ´Â ³»¿ë Áß¿¡ À¥ ¼¹ö°¡ ÀνÄÇϴ Ưº°ÇÑ ¸í·É¾îµéÀ» ó¸®(ParsingÀ̶ó ÇÑ´Ù)ÇÑ ÈÄ¿¡ Àü¼ÛÇØ ÁÖ°Ô µÈ´Ù. SSI ¹®¼´Â CGIó·³ µ¿ÀûÀÎ ¹®¼¸¦ »ý¼ºÇϴµ¥ »ç¿ëµÉ ¼ö ÀÖ´Ù. ±×·¯³ª CGI°¡ ¾ÆÁÖ ´Ù¾çÇÑ ÇüÅÂÀÇ ¹®¼¸¦ »ý¼ºÇϴµ¥ ÀÌ¿ëµÉ ¼ö ÀÖ´Â ¹Ý¸é SSI´Â ÇöÀç ³¯Â¥, ÆÄÀÏÀÇ ÃֽŠ°»½ÅÀÏ, ´Ù¸¥ ¹®¼ÀÇ Æ÷ÇÔ µî Á¦¾àµÈ ÇüÅÂÀÇ µ¿ÀûÀÎ ¹®¼¸¦ »ý¼ºÇØ ³¾ ¼ö ÀÖ´Ù.
SSIÀÇ µ¿ÀÛ¿ø¸®
Ŭ¶óÀ̾ðÆ®°¡ SSI ¹®¼¸¦ ¿äûÇÏ¸é ¼¹ö´Â ¸ÕÀú ÇöÀç ¼¹öÀÇ »óÅÂ, Ŭ¶óÀ̾ðÆ®ÀÇ ¿äûÁ¤º¸, Ŭ¶óÀ̾ðÆ® Á¤º¸¸¦ ȯ°æº¯¼ö·Î ÀúÀåÇÑ ÈÄ, SSI ¹®¼¸¦ ÀоîµéÀδÙ. SSI ¹®¼ÀÇ °¢ÇàÀ» ó¸®ÇÏ´Ù°¡ SSI ¸í·ÉÀ» ¸¸³ª¸é SSI ¸í·ÉÀ» Çؼ®ÇÑ °á°ú(¹®ÀÚ·Î)·Î ´ëÄ¡ÇÑ´Ù. ÀÌ °úÁ¤À» ¹®¼³¡³¢Áö ¹Ýº¹ÇÑ ÈÄ, ±× °á°ú¸¦ Ŭ¶óÀ̾ðÆ®¿¡ Àü¼ÛÇϰԵȴÙ. µû¶ó¼ Ŭ¶óÀ̾ðÆ® Ãø¿¡¼´Â ¿ø¹®¼ÀÇ ³»¿ëÀº ÀüÇô º¼ ¼ö°¡ ¾øÀ¸¸ç, ´Ù¸¸ Çؼ®µÈ °á°ú¸¸À» º¸°ÔµÈ´Ù.
SSI ¹®¼¿¡ ´ëÇؼ´Â À¥ ¼¹ö°¡ ÀÏÀÏÀÌ ³»¿ëÀ» Çؼ®ÇØ¾ß Çϱ⠶§¹®¿¡ À¥ ¼¹öÀÇ ¼º´ÉÀ» ¶³¾î¶ß¸± ¼ö ÀÖ°í º¸¾ÈÃø¸é¿¡¼ ÀÍ¸í »ç¿ëÀÚ°¡ nobody ±ÇÇÑÀ¸·Î ¼¹öÃø ÇÁ·Î±×·¥À» ¼öÇà½Ãų ¼ö ÀÖ´Ù´Â À§Ç輺ÀÌ ÀÖ´Ù. µû¶ó¼ SSI¸¦ »ç¿ëÇÒ ¶§´Â ÀÌ·¯ÇÑ ¾àÁ¡À» °í·ÁÇؾ߸¸ ÇÑ´Ù.
SSI ¸í·É¾îÀÇ Çü½Ä
<!--#command opt1="value1" opt2="value" -->
¿©±â¼ command´Â ´ÙÀ½¿¡ ¼³¸íÇÑ SSI ¸í·É¾îÀ̸ç, opt´Â ¸í·É¾î¿¡µû¶ó ÃëÇØÁö´Â ¸Å°³º¯¼öÀÌ´Ù. SSI´Â ÇϳªÀÇ Å±׳»¿¡ ÇϳªÀÇ ¸í·É¹Û¿¡ »ç¿ëÇÒ ¼ö ¾øÀ¸¸ç, <!--#command »çÀÌ¿¡ ¾î¶°ÇÑ °ø¹éµµ Æ÷ÇԵǼ´Â ¾ÈµÈ´Ù. ±×·¯³ª Çϳª ÀÌ»óÀÇ opt¸¦ Æ÷ÇÔÇÒ ¼ö´Â ÀÖ´Ù.
config
ÁÖ·Î SSI ¸í·É¾îµéÀÇ Ãâ·ÂÇü½ÄÀ» ÁöÁ¤Çϱâ À§Çؼ »ç¿ëµÇ¸ç ¹Ýµå½Ã ´Ù¸¥ ¸í·É¾î¿Í ÇÔ²² »ç¿ëÇØ¾ß µÈ´Ù.
errmsg
¿¡·¯°¡ ¹ß»ýÇßÀ» °æ¿ì, Ãâ·ÂµÉ ¿À·ù¸¦ ÁöÁ¤ÇÑ´Ù. ¿¡·¯°¡ ¹ß»ýÇÑ °æ¿ì ¼¹öÀÇ ¿¡·¯ ·Î±×(/usr/local/apache/error_log)¿¡µµ ±â·ÏµÈ´Ù. value´Â ÀÓÀÇÀÇ ÅؽºÆ®ÀÌ´Ù.
<!--#config errmsg="ÆÄÀÏÀ» ÀÐÀ» ¼ö ¾ø½À´Ï´Ù" ->
timefmt
³¯Â¥¸¦ Ãâ·ÂÇÒ ¶§ ¾î¶² Çü½ÄÀ» ¾µ °ÍÀΰ¡¸¦ °áÁ¤ÇÑ´Ù. ÀÌ °ªÀº À¯´Ð½ºÀÇ strftime ¶óÀ̺귯¸® ÇÔ¼ö¿Í ȣȯµÇ¾î¾ß ÇÑ´Ù. timefmt¿¡¼ »ç¿ë°¡´ÉÇÑ °ªÀº ´ÙÀ½°ú °°´Ù.
%a ¼¹öÀÇ locale¿¡ µû¶ó Ç¥½ÃµÇ´Â Ãà¾àµÈ ÇüÅÂÀÇ ¿äÀϸí
%A ¼¹öÀÇ locale¿¡ µû¶ó Ç¥½ÃµÇ´Â ¿äÀϸí
%b ¼¹öÀÇ locale¿¡ µû¶ó Ç¥½ÃµÇ´Â Ãà¾àµÈ ÇüÅÂÀÇ ¿ù¸í
%B ¼¹öÀÇ locale¿¡ µû¶ó Ç¥½ÃµÇ´Â ¿ù¸í
%d ÀÏÀ» 10Áø¼ö·Î Ç¥½Ã
%m ¿ùÀ» 10Áø¼ö·Î Ç¥½Ã
%U ù ¹ø° ÀÏ¿äÀÏÀ» ±âÁØÀ¸·Î ¸î¹ø° ÁÖÀΰ¡¸¦ 10Áø¼ö·Î Ãâ·Â
%W ù ¹ø° ¿ù¿äÀÏÀ» ±âÁØÀ¸·Î ¸î¹ø° ÁÖÀΰ¡¸¦ 10Áø¼ö·Î Ãâ·Â
%w ±× ÁÖÀÇ ¸î ¹ø° ³¯ÀÏ°¡¸¦ 10Áø¼ö·Î Ãâ·Â
%x ³¯Â¥¸¸ ¼¹öÀÇ locale¿¡ ÀûÇÕÇÑ ÇüÅ·Πǥ½Ã
%y ¿¬µµ¸¦ µÎÀÚ¸® ½ÊÁø ¼ö·Î Ç¥½Ã
%Y ¿¬µµ¸¦ 4ÀÚ¸® 10Áø ¼ö·Î Ç¥½Ã
%H ½Ã°£À» 24½Ã·Î Ç¥½Ã
%l ½Ã°£À» 12½Ã·Î Ç¥½Ã
%j ÀϳâÀ» ±âÁØÀ¸·Î ¸î ¹ø° ³¯Àΰ¡¸¦ Ç¥½Ã
%M ºÐÀ» ½ÊÁø ¼ö·Î Ç¥½Ã
%p Ãâ·ÂµÈ ½Ã°£¿¡µû¶ó a.m, p.mÀ¸·Î Ç¥½Ã
%S Ãʸ¦ ½ÊÁø¼ö·Î Ç¥½Ã
%X ½Ã°£¸¸ ¼¹öÀÇ locale¿¡ ÀûÇÕÇÑ ÇüÅ·Πǥ½Ã
%Z Time Zone¸¦ Ãâ·Â
<!--#config timefmt="%Y³â %m¿ù %dÀÏ" -->
sizefmt
ÆÄÀÏÀÇ Å©±â¸¦ º¸¿©ÁÙ ¶§ÀÇ Çü½ÄÀ» ÁöÁ¤ÇØ ÁØ´Ù. °¡´ÉÇÑ °ªÀº bytes, abbrev ÀÌ´Ù. bytes¸¦ ¾µ °æ¿ì ¹ÙÀÌÆ® ´ÜÀ§·Î Å©±â¸¦ Ãâ·ÂÇÏ°í(1,234,567°ú °°Àº Çü½Ä), abbrev¸¦ ¾µ °æ¿ì ų·Î¹ÙÀÌÆ® ¶Ç´Â ¸Þ°¡¹ÙÀÌÆ® ´ÜÀ§·Î Å©±â¸¦ Ãâ·ÂÇÑ´Ù.
<!--#config sizefmt="abbrev" -->
include
include´Â ¾î¶² ¹®¼ÀÇ ³»¿ëÀ» SSI ¹®¼¿¡ »ðÀÔ½ÃÅ°´Â ¸í·É¾îÀÌ´Ù. »ðÀԵǴ ¹®¼´Â À¥ »ó¿¡¼ Á¢±Ù°¡´ÉÇÑ ¹®¼À̾î¾ß ÇÑ´Ù. ÀÌ ¸í·É¾î´Â ´ÙÀ½ µÎ ¸Å°³º¯¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀϹÝÀûÀ¸·Î Copyright¿Í °°ÀÌ ´ëºÎºÐÀÇ ¹®¼¿¡ Æ÷ÇÔµÈ µ¿ÀÏÇÑ ³»¿ëÀ» º¯°æÇÒ ¶§ À¯¿ëÇÏ´Ù.
virtual
¼¹ö¿¡ ÀÖ´Â ¹®¼¿¡ ´ëÇÑ °¡»ó Àý´ë °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. ÀÏ¹Ý ¹®¼(Text, HTML)³ª ¶Ç´Â SSI ¹®¼¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç, SSI¿Í »ðÀ﵃ ¹®¼°¡ ¼·Î´Ù¸¥ µð·ºÅ丮¿¡ ÀÖ´Â °æ¿ì¿¡ ÁÖ·Î »ç¿ëµÈ´Ù.
<!--#include virtual="/~artech/sign.txt" -->
file
SSI ¹®¼¿¡ ´ëÇÑ »ó´ë °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. "../"³ª Àý´ë°æ·Î´Â »ç¿ëÇÒ ¼ö ¾ø´Ù. vitual°ú ¸¶Âù°¡Áö·Î ÀϹݹ®¼³ª SSI ¹®¼¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. SSI ¹®¼¿Í »ðÀ﵃ ¹®¼°¡ °°Àº µð·ºÅ丮¿¡ ÀÖ´Â °æ¿ì¿¡ ÁÖ·Î »ç¿ëµÈ´Ù.
<!--#include file="sign.txt" -->
ÁÖÀÇ:
SSI ¹®¼¸¦ »ðÀÔÇÏ´Â °æ¿ì¿¡´Â Á¢¹Ì»ç(Suffix)¸¦ .shtml·Î ÇØ¾ß ÇÑ´Ù.
echo
echo´Â SSI º¯¼ö(include variable)ÀÇ °ªÀ» Ãâ·ÂÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. ³¯Â¥´Â config ¸í·ÉÀ¸·Î ÁöÁ¤ÇÑ timefmt¿¡ µû¶ó Ãâ·ÂµÈ´Ù. ¸Å°³º¯¼ö·Î´Â varÀÌ ¿Ã ¼ö ÀÖÀ¸¸ç ¸Å°³º¯¼öÀÇ °ªÀ¸·Î SSI º¯¼ö(SSI Àü¿ëȯ°æ º¯¼ö, CGI ȯ°æº¯¼ö¿Í ÀÏ¹Ý È¯°æº¯¼ö)ÀÇ À̸§À» ÁöÁ¤ÇÑ´Ù.
var
°ªÀ¸·Î´Â SSI º¯¼ö¸¦ ÃëÇÑ´Ù.
´ç½ÅÀº <!--#echo var="REMOTE_HOST" -->·ÎºÎÅÍ ¿À¼Ì½À´Ï´Ù.
ÁÖÀÇ:
ȯ°æº¯¼ö´Â Ç×»ó ´ë¹®ÀÚ¸¦ »ç¿ëÇØ¾ß ÇÏÁö¸¸ SSI¿¡¼´Â ¸î¸î ¹®ÀÚ¸¸ ´ë¹®ÀÚ¸¦ »ç¿ëÇصµ µÈ´Ù.
SSI¿ë ȯ°æº¯¼ö
SSI¿¡¼´Â CGI ¸í¼¼¿¡¼ ¾ð±ÞÇÒ CGI¿ë ȯ°æº¯¼öµé ¿Ü¿¡µµ ´ÙÀ½°ú °°Àº ȯ°æº¯¼ö¸¦ Ãß°¡ÀûÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- DOCUMENT_NAME
- ó¸®ÇÑ SSIÀÇ ÆÄÀÏÀ̸§
- DOCUMENT_URI
- ¼¹ö°¡ ó¸®ÇÒ SSI ÆÄÀÏ¿¡´ëÇÑ °¡»ó Àý´ë °æ·Î
- QUERY_STRING_UNESCAPED
- Ŭ¶óÀ̾ðÆ®°¡ º¸³½ °Ë»ö ÁúÀǾî(search query)°¡ escapeµÇÁö ¾ÊÀº ½ºÆ®¸µ. ´Ü, ½© Ư¼ö ¹®ÀÚ´Â ''¿¡ ÀÇÇؼ escapeµÈ´Ù.
- DATE_LOCAL
- ¼¹ö ½Ã½ºÅÛ¿¡ ¼³Á¤µÇ¾îÀÖ´Â ½Ã°£´ë(Time Zone)¿¡µû¶ó SSI ó¸® ½ÃÀÛÀüÀÇ ³¯ÀÚ
- DATE_GMT
- DATE_LOCAL°ú °°Àº ÀǹÌÀÌÁö¸¸ Greenwich½Ã°£À¸·Î °è»ê
- LAST_MODIFIED
- ¼¹ö°¡ ó¸®ÇÒ ¸¶Áö¸· °»½Å ÀÏÀÚ
fsize
¸Å°³º¯¼ö·Î ÁöÁ¤ÇÑ ÆÄÀÏÀÇ Å©±â¸¦ Ãâ·ÂÇØ ÁØ´Ù. ¸Å°³º¯¼ö·Î ¿Ã ¼ö ÀÖ´Â °ÍÀº include¿Í °°°í, ÀÌ ¸í·É¿¡ ÀÇÇÑ Ãâ·Â Çü½ÄÀº config¸í·É¿¡¼ ÁöÁ¤ÇÑ sizefmt¿¡ µû¸£°Ô µÈ´Ù.
virtual
¼¹ö¿¡ ÀÖ´Â ¹®¼¿¡ ´ëÇÑ °¡»ó Àý´ë °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. ÀÏ¹Ý ¹®¼(Text, HTML)³ª ¶Ç´Â SSI ¹®¼¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç, SSI¿Í »ðÀ﵃ ¹®¼°¡ ¼·Î´Ù¸¥ µð·ºÅ丮¿¡ ÀÖ´Â °æ¿ì¿¡ ÁÖ·Î »ç¿ëµÈ´Ù.
<!--#fsize virtual="/~artech/sign.txt" -->
file
SSI ¹®¼¿¡ ´ëÇÑ »ó´ë °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. "../"³ª Àý´ë°æ·Î´Â »ç¿ëÇÒ ¼ö ¾ø´Ù. vitual°ú ¸¶Âù°¡Áö·Î ÀϹݹ®¼³ª SSI ¹®¼¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. SSI ¹®¼¿Í »ðÀ﵃ ¹®¼°¡ °°Àº µð·ºÅ丮¿¡ ÀÖ´Â °æ¿ì¿¡ ÁÖ·Î »ç¿ëµÈ´Ù.
<!--#fsize file="sign.txt" -->
flastmod
¸Å°³º¯¼ö·Î ÁöÁ¤ÇÑ ÆÄÀÏÀÇ ¸¶Áö¸· º¯°æ ÀÏÀÚ¸¦ Ãâ·ÂÇØ ÁØ´Ù. ¸Å°³º¯¼ö´Â include¿Í °°°í ÀÌ ¸í·É¿¡ ÀÇÇÑ Ãâ·Â Çü½ÄÀº config¸í·É¿¡¼ ÁöÁ¤ÇÑ timefmt¸¦ µû¸£°Ô µÈ´Ù.
virtual
¼¹ö¿¡ ÀÖ´Â ¹®¼¿¡ ´ëÇÑ °¡»ó Àý´ë °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. ÀÏ¹Ý ¹®¼(Text, HTML)³ª ¶Ç´Â SSI ¹®¼¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖÀ¸¸ç, SSI¿Í »ðÀ﵃ ¹®¼°¡ ¼·Î´Ù¸¥ µð·ºÅ丮¿¡ ÀÖ´Â °æ¿ì¿¡ ÁÖ·Î »ç¿ëµÈ´Ù.
<!--#flastmod virtual="/~artech/sign.txt" -->
file
SSI ¹®¼¿¡ ´ëÇÑ »ó´ë °æ·Î¸¦ ÁöÁ¤ÇÑ´Ù. "../"³ª Àý´ë°æ·Î´Â »ç¿ëÇÒ ¼ö ¾ø´Ù. vitual°ú ¸¶Âù°¡Áö·Î ÀϹݹ®¼³ª SSI ¹®¼¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. SSI ¹®¼¿Í »ðÀ﵃ ¹®¼°¡ °°Àº µð·ºÅ丮¿¡ ÀÖ´Â °æ¿ì¿¡ ÁÖ·Î »ç¿ëµÈ´Ù.
<!--#flastmod file="sign.txt" -->
exec
execÀº ½© ¸í·É¾î³ª CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¼ö ÀÖµµ·Ï ÇØÁØ´Ù. exec ¸í·ÉÀ» »ç¿ëÇϱâ À§Çؼ´Â À¥ ¼¹ö°¡ Àû´çÇÏ°Ô ¼³Á¤ÀÌ µÇ¾îÀÖ¾î¾ß ÇÑ´Ù.
cmd
¿ÜºÎ Unix ¸í·ÉÀ» ½ÇÇàÇϴµ¥ »ç¿ëµÈ´Ù.
<!--#exec cmd="grep -c /~artech /usr/local/etc/httpd/logs/access_log" -->
ÁÖÀÇ:
À¥ ¼¹öÀÇ UID´Â nobodyÀ̸ç, À¥ ¼¹öÀÇ ÀÚ½Ä ÇÁ·Î¼¼¼ÀÎ SSI ÇÁ·Î¼¼½ºµµ nobody ±ÇÇÑÀ» °®´Â´Ù. µû¶ó¼ cmd ¸í·ÉÀº nobody ±ÇÇÑÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ´Â ¸í·É(ÁÖ·Î Àб⠸í·É)À» ÁöÁ¤ÇØ¾ß ÇÑ´Ù.
cgi
CGI ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÒ ¶§ »ç¿ëµÈ´Ù. CGI ½ºÅ©¸³Æ®¿¡ ´ëÇÑ °¡»ó °æ·Î(virtual path)¸¦ ÁöÁ¤Çϸé CGI¸¦ ½ÇÇàÇÑ °á°ú·Î ´ëÄ¡ÇÑ´Ù. ÀÌ ¿É¼ÇÀº ÁÖ·Î Text Ä«¿îÅ͸¦ ½ÇÇàÇϱâÀ§ÇØ Á¦°øµÈ ¹æ¹ýÀÌ´Ù.
<!--#exec cgi="cgi-bin/hello.cgi" -->
printenv(Appache)
Apache¿¡¼ Á¦°øÇÏ´Â È®Àå SSI(Extended SSI: XSSI) ±â´ÉÀÌ´Ù. Apache¿¡¼´Â ÀÌ ±â´É¿Ü¿¡ °£´ÜÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ´Â Á¶°Ç¹®, ºÐ±â¹®, º¯¼ö´ëÄ¡ ¶ÇÇÑ Á¦°øÇÏ°í ÀÖ´Ù. ÀÚ¼¼ÇÑ °ÍÀº Apache ¸Å´º¾óÀ» Âü°íÇϱ⠹ٶõ´Ù.
Webserver¿¡ ÇöÀç ¼³Á¤µÈ ȯ°æº¯¼ö¿Í °ªÀ» Ãâ·ÂÇÑ´Ù.
<!--#printenv -->
ÁÖÀÇ:
printenv ´ÙÀ½¿¡ ¹Ýµå½Ã °ø¹éÀÌ Á¸ÀçÇØ¾ß ÇÑ´Ù.
set(Appache)
ȯ°æº¯¼öÀÇ °ªÀ» º¯°æÇÑ´Ù.
var
º¯°æÇÏ·Á´Â º¯¼ö¸íÀ» ÁöÁ¤ÇÑ´Ù.
value
º¯¼öÀÇ °ªÀ» ÁöÁ¤ÇÑ´Ù.
<!--#set var="REMOTE_HOST" value="localhost" -->
XBitHack
SSI´Â ¼¹öÃø ¹®¼¿Í Ŭ¶óÀ̾ðÆ®Ãø ¹®¼°¡ ´Ù¸£±â ¶§¹®¿¡ Ŭ¶óÀ̾ðÆ®Ãø¿¡¼ ¼¹öÃø ¹®¼ÀÇ ³»¿ëÀ» º¼ ¼ö ¾ø´Ù. ±×·¯³ª È®ÀåÀÚ°¡ .shtmlÀ̱⠶§¹®¿¡ ÀÌ ¹®¼°¡ SSI ¹®¼À̸ç, ¼¹öÃø¿¡¼ ½ÇÇàµÇ´Â ¹®¼¶ó´Â °ÍÀº ½±°Ô ¾Ë¾Æ³¾ ¼ö ÀÖ´Ù.
µû¶ó¼ ¾ÇÀÇÀûÀÎ »ç¿ëÀÚ´Â ÀÌ SSI ¹®¼¸¦ ¹Ýº¹ÀûÀ¸·Î ¿äûÇÔÀ¸·Î¼ ¼¹öÃø¿¡ ÀǵµÀûÀÎ ºÎÇϸ¦ ÁÙ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ¹®Á¦ Á¡À» ÇØ°áÇÏ´Â ¹æ¹ýÀº ¿©·¯ °¡Áö°¡ ÀÖÁö¸¸ °¡Àå ¾ÈÀüÇÏ¸ç º¸ÆíÀûÀÎ ¹æ¹ýÀº XBitHack¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù.
XBitHack´Â NCSA °è¿ÀÇ ¼¹ö¿¡¼ Áö¿øÇÏ´Â ±â´ÉÀ¸·Î SSI ¹®¼¿Í ÀϹݹ®¼¸¦ ±¸ºÐÇϱâÀ§ÇØ Á¢¹Ì»ç(È®ÀåÀÚ)¸¦ »ç¿ëÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó x ºñÆ®(½ÇÇàºñÆ®), Áï »ç¿ë±ÇÇÑ(permission)ÀÇ ½ÇÇà ºñÆ®ÀÇ Á¸Àç¿©ºÎ·Î ÆÇÁ¤ÇÏ´Â °ÍÀÌ´Ù.
Àü¿ª¼³Á¤(/usr/local/apache/conf/access.conf)
XBitHack ±â´ÉÀ» ¼¹ö Àüü¿¡ Àû¿ëÇÏ·Á¸é Àü¿ª ACF(Access Configuration File - conf/access.conf)ÀÇ DocumentRoot ºÎºÐÀ» ´ÙÀ½°ú °°ÀÌ º¯°æÇÏ¸é µÈ´Ù.
<Directory /usr/local/apache/htdocs>
Options Indexs FollowSymLink
AllowOverride none
XBitHack on
</Drectory>
XBitHack¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù.
- off
- XBitHack¸¦ »ç¿ëÇÏÁö ¾ÊÀ½(±âº»°ª)
- on
- »ç¿ëÀÚÀÇ ½ÇÇàºñÆ®°¡ ÄÑÁ®ÀÖ´Â ¹®¼¸¸ SSI ¹®¼·Î ó¸®.
- full
- on°ú µ¿ÀÏÇϸç, ±×·ìÀÇ ½ÇÇàºñÆ®°¡ ÄÑÁ®ÀÖ´Â SSI ¹®¼¸¦ Ŭ¶óÀ̾ðÆ®ÀÇ Ä³½¬¿Í ÇÁ·Ï½Ã ¼¹ö¿¡ ij½¬µÇµµ·Ï ÇÑ´Ù.
»ç¿ëÀÚ ¼³Á¤
XBitHackÀ» ¼¹ö ¼³Á¤°ú´Â ¹«°üÇÏ°Ô »ç¿ëÀÚº°(µð·ºÅ丮º°)·Î »ç¿ëÇÏ·Á¸é SSI ¹®¼¸¦ Æ÷ÇÔÇÏ´Â µð·ºÅ丮¿¡ ´ÙÀ½°ú °°Àº µð·ºÅ丮º° ACF(Per-directory ACF) ÆÄÀÏÀ» µÎ¸é µÈ´Ù.
.htaccess
XBitHack on
ÁÖÀÇ:
»ç¿ëÀÚ°¡ µð·ºÅ丮º° ACF ÆÄÀÏÀ» »ç¿ëÇϱâÀ§Çؼ´Â Àü¿ª ACF(conf/access.conf) ÆÄÀÏÀÇ DocumentRoot ºÎºÐÀÌ ´ÙÀ½°ú °°¾Æ¾ß ÇÑ´Ù.
<Directory /usr/local/apache/htdocs>
Options Indexs FollowSymLink
AllowOverride All
</Drectory>
SSI ¹®¼ÀÇ »ç¿ë
À§¿Í °°ÀÌ ¼¹ö³ª °³ÀÎ »ç¿ëÀÚÀÇ ¼³Á¤ÀÌ ³¡³ª¸é SSI ¹®¼ÀÇ »ç¿ë±ÇÇÑÀ» ´ÙÀ½°ú °°ÀÌ ¼³Á¤ÇÔÀ¸·Î¼ Á¢¹Ì»ç(È®ÀåÀÚ)°¡ .htmlÀÎ SSI ¹®¼¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
chmod 744 include.html
SSI ¹®¼¿Í ÀÏ¹Ý ¹®¼ÀÇ Á¢¹Ì»ç(È®ÀåÀÚ)´Â ¸ðµÎ .htmlÀÌÁö¸¸ ÀϹݹ®¼ÀÇ »ç¿ë±ÇÇÑÀº 644ÀÌ°í, SSI ¹®¼ÀÇ »ç¿ë±ÇÇÑÀº 744À̹ǷΠ¼¹ö´Â ÀÌ »ç¿ë±ÇÇÑ¿¡ ÀÇÇØ SSI ¹®¼¿Í ÀϹݹ®¼¸¦ ±¸ºÐÇÒ ¼ö ÀְԵȴÙ.
SSIÀÇ ¿¹
SSI¿¡´ëÇÑ ¿¹¸¦ º¸±âÀ§Çؼ´Â ¿©±â¸¦ Ŭ¸¯Çϱ⠹ٶõ´Ù.