ÀÌÁ¦ ƯÁ¤ µ¥ÀÌÅͺ£À̽º¿¡´ëÇÑ Á¢±ÙÀ» ƯÁ¤ »ç¿ëÀÚ·Î Á¦ÇÑÇÏÀÚ. NCSA °è¿ÀÇ ¼¹ö´Â ¿Â¶óÀÎ µ¥ÀÌÅͺ£À̽º¿Í ¿¬µ¿½ÃÅ°´Âµ¥ ½±°Ô Àû¿ëÇÒ ¼ö ÀÖ´Â ³»ÀåµÈ »ç¿ëÀÚ ÀÎÁõ ±â´ÉÀ» °¡Áö°í ÀÖ´Ù.
¹æ¾î¶õ ?
¼¹ö ÀÎÁõ ÀÌ·ÐÀº ÆÄÀÏ ½Ã½ºÅÛ¿¡ ´ëÇÑ Á¢±ÙÀ» ó¸®Çϱâ À§ÇØ °í¾ÈµÇ¾úÀ¸¸ç, ¼¹ö ÀÎÁõÀ¸·Î ƯÁ¤ »ç¶÷(¶Ç´Â È£½ºÆ®)ÀÇ Á¢±ÙÀ» Çã°¡Çϰųª ƯÁ¤ »ç¶÷(¶Ç´Â È£½ºÆ®)ÀÇ Á¢±Ù °ÅÀýÇÒ ¼ö ÀÖ´Ù.
¾ÕÀý¿¡¼ ÀÛ¼ºÇÑ CGI´Â °Ë»ö CGI¿Í »ðÀÔ, ¼öÁ¤ CGI·Î ±¸¼ºµÇ¾î ÀÖ´Ù. °Ë»ö CGI´Â ´©±¸³ª Á¢±ÙÇؼ »ç¿ëÇصµ ¹«¹æÇÏÁö¸¸ »ðÀÔ, ¼öÁ¤ CGI´Â ÀÎÁõµÈ »ç¿ëÀÚ¸¸ Á¢±ÙÇÒ ¼ö ÀÖ¾î¾ß ÇÑ´Ù.
°Ë»ö¿ë CGI¿Í »ðÀÔ, ¼öÁ¤¿ë CGI¸¦ ºÐ¸®½ÃŲ ÀÌÀ¯´Â Â÷Â÷ ¾Ë°ÔµÇ°ÚÁö¸¸ ±Ùº»ÀûÀ¸·Î ÇöÀç »ç¿ëµÇ°í ÀÖ´Â ¼¹ö ÀÎÁõ ÀÌ·ÐÀº ÆÄÀÏ¿¡´ëÇÑ Á¢±ÙÀ» Á¦¾îÇÒ ¼ö ¾ø±â¶§¹®ÀÌ´Ù. µû¶ó¼ ÇϳªÀÇ ÆÄÀÏ¿¡ ¸ðµç ±â´ÉÀ» »ðÀÔÇÏ´Â °æ¿ì ºÎ°¡ÀûÀÎ ÀýÂ÷°¡ ÇÊ¿äÇÏ´Ù.
°³ÀÎÀÎÁõ
Á¢±Ù Á¦¾î ÆÄÀÏ(Access Control File)
º¸È£µÇ¾î¾ß ÇÏ´Â ½ºÅ©¸³Æ®°¡ Á¸ÀçÇÏ´Â µð·ºÅ丮¿¡ .htaccess¶ó°í ºÒ¸®´Â ÆÄÀÏÀ» »ý¼ºÇÏ°í ±× ÆÄÀÏ¿¡ ´ÙÀ½°ú °°Àº ³»¿ëÀ» µÐ´Ù.
ÁÖÀÇ1 :
Àü¿ª-ACF ÆÄÀÏÀÇ <Directory>¿¡ ¾Æ·¡ÀÇ ³»¿ëÀ» µÎ¾îµµ µ¿ÀÏÇÑ È¿°ú¸¦ ¾òÀ» ¼ö ÀÖÁö¸¸ ÀÌ°æ¿ì ¼¹ö¸¦ Àç±âµ¿ÇØ¾ß ÇÏ´Â ´ÜÁ¡ÀÌ ÀÖ´Ù.
ÁÖÀÇ2 :
ÀÌ ±â´ÉÀ» »ç¿ëÇϱâÀ§Çؼ´Â Àü¿ª-ACF ÆÄÀÏÀÇ Document Root µð·ºÅ丮ÀÇ AllowOverride¿É¼ÇÀÌ All·Î µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
AuthUserFile /home/artech/.htpasswd
AuthGroupFile /dev/null
AuthName Test
AuthType Basic
<Limit GET POST>
require user artech
</Limit>
AuthUserFile¿¡´ëÇÑ Àû´çÇÑ À̸§°ú µð·ºÅ丮¸¦ ¼±ÅÃÇÑ´Ù. AuthUserFileÀº °£´ÜÇÏ°Ô »ý¼ºÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª °¡±ÞÀû ÀÌ ÆÄÀÏÀ» .htaccess ÆÄÀÏ°ú ÇÔ²² µÎÁö ¾Ê´Â °ÍÀÌ ÁÁ´Ù. ¿Ö³ÄÇϸé ÀÌ ÆÄÀÏÀº ÇØ´ç µð·ºÅ丮¸¦ Á¢±ÙÀ» Á¦¾îÇϴµ¥ »ç¿ëµÇ´Â »ç¿ëÀÚ À̸§°ú ¾ÏÈ£¸¦ ÀúÀåÇÏ°í Àֱ⠶§¹®ÀÌ´Ù.
AuthGroupFileÀº ±×·ìÆÄÀÏÀ» ÁöÁ¤ÇÔÀ¸·Î¼ ƯÁ¤ ±×·ìÀÇ Á¢±ÙÀ» ¼³Á¤Çϴµ¥ »ç¿ëµÉ ¼öµµ ÀÖ´Ù. ÀÌ °ÍÀº ¾Æ·¡¿¡ ÀÚ¼¼È÷ ³ª¿ÍÀÖ´Ù.
À§¿¡¼ AuthNameÀº ¾ÏÈ£ÀÔ·ÂÀ» ¿ä±¸ÇÏ´Â ´ëÈ»óÀÚ¿¡ ³ªÅ¸³ª°ÔµÉ ÆûÀÇ À̸§ÀÌ´Ù.
¾ÏÈ£ÆÄÀÏ
NCSA °è¿ÀÇ ¼¹ö´Â htpasswd¶ó°í ºÒ¸®´Â ÇÁ·Î±×·¥À» Æ÷ÇÔÇÏ°í ÀÖ´Ù. ¾ÏÈ£ÆÄÀÏÀ» »ý¼ºÇÏ°í, ÀÌ ÆÄÀÏ¿¡ »ç¿ëÀÚ¸¦ Ãß°¡Çϱâ À§Çؼ´Â ¾ÏÈ£ ÆÄÀÏÀÇ °æ·Î¸¦ ÀÚ½ÅÀÇ ½Ã½ºÅÛ¿¡ ¸ÂÃß¾î ´ÙÀ½°ú °°ÀÌ ½ÇÇàÇÑ´Ù.
htpasswd -c /home/artech/.htpasswd artech
ÁÖÀÇ :
htpasswd ÆÄÀÏÀº ÀϹÝÀûÀ¸·Î À¥¼¹ö°¡ ¼³Ä¡µÈ µð·ºÅ丮ÀÇ support¶ó´Â µð·ºÅ丮¿¡ Á¸ÀçÇÑ´Ù. support¶ó´Â µð·ºÅ丮°¡ Á¸ÀçÇÏÁö ¾Ê°Í³ª ÀÌ ÆÄÀÏÀ» CGI¸¦ ÀÌ¿ëÇؼ »ý¼ºÇÏ·Á¸é Unix¿¡¼ Á¦°øÇÏ´Â crypt¶ó´Â ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é µÈ´Ù.
À§¿Í °°ÀÌ ¼öÇàÇϸé, ¾ÏÈ£ ÆÄÀÏÀÌ »ý¼ºµÇ¸ç, artech¶ó´Â »ç¿ëÀÚ°¡ Ãß°¡µÈ´Ù. ÀÌ °æ¿ì artechÀÇ ¾ÏÈ£¸¦ µÎ ¹ø ÀÔ·ÂÇØ¾ß ÇÑ´Ù.
ÀÌ ÆÄÀÏ ³»ÀÇ »ç¿ëÀÚ¿Í ·ÎÄà ½Ã½ºÅÛÀÇ »ç¿ëÀÚ »çÀÌ¿¡´Â ¾î¶°ÇÑ °ü°èµµ ¾ø´Ù. ·ÎÄà ½Ã½ºÅÛ¿¡ °èÁ¤À» °®´Â »ç¿ëÀÚ´Â ·ÎÄà ½Ã½ºÅÛÀÇ ¾ÏÈ£ÆÄÀÏ°ú µ¿ÀÏÇÑ(¶Ç´Â ´Ù¸¥) »ç¿ëÀÚ ¸í, »ç¿ëÀÚ ¾ÏÈ£¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ ¹æ¹ýÀº ´ÜÁö ¿øÇÏ´Â µð·ºÅ丮 ³»¿¡ ÆÄÀÏ¿¡´ëÇÑ Á¢±Ù¸¸ Á¦¾îÇÑ´Ù.
º¸È£µÈ µð·ºÅ丮³»ÀÇ ÆÄÀÏ¿¡ Á¢±ÙÇÏ·Á´Â »ç¿ëÀÚ¿¡°Ô »ç¿ëÀÚÀÇ ºê·Î¿ìÀú´Â ¾ÏÈ£ÀÔ·ÂÀ» ¿ä±¸Çϸç ÀÎÁõÀ» À§ÇØ ÀÌ °ÍÀ» ¼¹ö·Î °Ç³×ÁØ´Ù. ¸¸¾à »ç¿ëÀÚ À̸§°ú ¾ÏÈ£°¡ ¾ÏÈ£ÆÄÀÏ¿¡ Á¸ÀçÇÏ´Â °æ¿ì, Á¢±ÙÀÌ Çã¿ëµÈ´Ù.
±×·ìÀÎÁõ
±×·ì¿¡´ëÇØ »ç¿ëÀÚ ÀÎÁõÀ» ÇϱâÀ§Çؼ´Â À§¿¡¼Ã³·³ htpasswd¸¦ »ç¿ëÇؼ ¾ÏÈ£ÆÄÀÏ¿¡ »ç¿ëÀÚ¸¦ Ãß°¡ÇÑ´Ù. ¾ÏÈ£ÆÄÀÏ ÀÖ´Â µð·ºÅ丮(¹Ýµå½Ã ÇÊ¿äÇÑ °ÍÀº ¾Æ´ÏÁö¸¸ ³ª»Û »ý°¢Àº ¾Æ´Ï´Ù)¿¡ Á¢±ÙÀ» Çã¿ëÇÒ »ç¿ëÀÚ ¸íÀ» Æ÷ÇÔÇÏ´Â ±×·ìÆÄÀÏÀ» ¸¸µç´Ù. ÀÏ°ü¼ºÀ» À§ÇØ ÀÌ ÆÄÀÏÀ» .htgroups¶ó°í À̸§ ºÙÀÌ°í ´ÙÀ½°ú °°ÀÌ ±×·ìÀ̸§°ú »ç¿ëÀÚ¸íÀ» Æ÷ÇÔÇÑ ±×·ìÀ» ÁöÁ¤ÇÑ´Ù.
add-access: artech pumpkin peanuts almonds walnuts
.htaccess ÆÄÀÏÀ» ´ÙÀ½°ú °°ÀÌ º¯°æÇÑ´Ù.
AuthUserFile /home/artech/.htpasswd
AuthGroupFile /home/artech/.htgroups
AuthName AddForm
AuthType Basic
<Limit GET POST>
require group add-access
</Limit>
ÇÊ¿ä¿¡ µû¶ó ´õ ¸¹Àº ±×·ìÀ» Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ±×·ì ÆÄÀϳ»ÀÇ »ç¿ëÀÚ¸¦ .htpasswd ÆÄÀÏ¿¡ Ãß°¡ÇÏ´Â °ÍÀ» ÀØÁö ¸»±â ¹Ù¶õ´Ù. - À̵éÀº ¾ÏÈ£¸¦ ÇÊ¿ä·Î ÇÑ´Ù.
ƯÁ¤ ÆÄÀÏÀÇ Á¦¾î
¿©±â¿¡ ¸î¸î ±â¹ýÀÌ ÀÖ´Ù. ƯÁ¤ ÆÄÀÏ¿¡ ´ëÇÑ Á¢±ÙÀº Á¦ÇÑÇÒ ¼ö ¾ø´Ù. ´ÜÁö ƯÁ¤ µð·ºÅ丮¸¸ Á¦ÇÑ ÇÒ ¼ö ÀÖ´Ù. ¸¸¾à ƯÁ¤ ÆÄÀÏÀÇ Á¢±ÙÀ» Á¦ÇÑÇÏ·Á¸é À§¿¡¼¿Í ¸¶Âù°¡Áö·Î º¸È£µÈ µð·ºÅ丮¸¦ ¼³Á¤ÇÏ°í, Á¢±ÙÀ» Á¦ÇÑÇÏ·Á´Â ÆÄÀÏÀ» º¸È£µÈ µð·ºÅ丮¿¡ µÎ¸é µÈ´Ù.
¸¸¾à ¼¹ö¸¦ Unix¿¡¼ ±âµ¿ÇÏ°í ÀÖ´Ù¸é, ÈξÀ ȯ»óÀûÀÌ´Ù. ÀÌ ¿¹¿¡¼´Â µ¥ÀÌÅÍ º£À̽º¸¦ °¡Áö°í ÀÖÀ¸¸ç »ç¿ëÀÚ¿¡°Ô´Â ´ÜÁö µ¥ÀÌÅͺ£À̽ºÀÇ °Ë»ö¸¸ °¡´ÉÇÏ°Ô ÇÏ·Á°í ÇÑ´Ù. dbupdate.cgi¶ó°í ºÎ¸£´Â ÇϳªÀÇ ½ºÅ©¸³Æ®´Â µ¥ÀÌÅÍ º£À̽ºÀÇ °Ë»ö, Ãß°¡, º¯°æ, »èÁ¦¿Í °°Àº µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ¸ðµç µ¿ÀÛÀ» Æ÷ÇÔÇÑ´Ù. °°Àº ½ºÅ©¸³Æ®¿¡ ÇÊ¿äÇÑ ¸ðµç ±â´ÉÀ» Æ÷ÇÔÇÏ°í ÀÖÀ» ¶§ ¾î¶»°Ô ÇÑ ±â´É¸¸ Á¢±ÙÇϵµ·Ï Á¦¾îÇÒ ¼ö ÀÖÀ» ±î ? ÇÁ·Î±×·¥ÀÇ ¿©·¯ °³·Î ³ª´©´Â ´ë½Å ´ÙÀ½°ú °°ÀÌ ÇϸéµÈ´Ù.
ºó µð·ºÅ丮¸¦ ¸¸µé°í, ÀÌ µð·ºÅ丮¿¡ ´ëÇÑ º¸¾ÈÀ» ¼³Á¤ÇÑ´Ù. ÀÌ °æ¿ì¿¡ .htaccess ÆÄÀÏÀº ´ÙÀ½°ú °°¾Æ¾ß ÇÑ´Ù:
AuthUserFile /home/artech/.htpasswd
AuthGroupFile /dev/null
AuthName DBAccess
AuthType Basic
<Limit GET POST>
require user artech
</Limit>
ÀÌ µð·ºÅ丮¿¡ ½ºÅ©¸³Æ®¿¡ ´ëÇÑ ´ÜÃà ¸µÅ©¸¦ »ý¼ºÇÑ´Ù. ÆÄÀÏÀ» º¹»çÇÒ ¼öµµ ÀÖÁö¸¸ ¿Ö µð½ºÅ©ÀÇ °ø°£À» ³¶ºñÇϰڴ°¡? ÀÌ µð·ºÅ丮³»ÀÇ À¯ÀÏÇÑ ÆÄÀÏÀº .htaccess¿Í ´ÜÃà ¸µÅ©ÀÌ´Ù.
¸¶Áö¸·À¸·Î ¿ø·¡ÀÇ ÇÁ·Î±×·¥ÀÌ ¾Æ´Ï¶ó ´ÜÃà ¸µÅ©¸¦ È£ÃâÇÒ ÇÊ¿ä°¡ ÀÖ´Ù. ´ÜÃà ¸µÅ©¿¡ ´ëÇÑ Á¢±ÙÀº º¸È£µÇÁö¸¸ ¿ø·¡ÀÇ ÇÁ·Î±×·¥¿¡ ´ëÇÑ Á¢±ÙÀº Á¦ÇѵÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ³» ¿¹Á¦ ½ºÅ©¸³Æ®´Â ´ÙÀ½°ú °°ÀÌ È£ÃâÇÑ´Ù.
<FORM ACTION="http://qaos.com/cgi-bin/dbupdate.cgi/path">
<INPUT TYPE="submit" VALUE="°Ë»ö">
URL·Î Á¤º¸¸¦ Àü¼ÛÇÔÀ¸·Î ¿µ¸®ÇÑ Å©·¡Ä¿´Â º¸È£µÇÁö ¾ÊÀº ½ºÅ©¸³Æ®¸¦ È£ÃâÇÔÀ¸·Î¼ º¸È£±â´ÉÀ» Á¢±ÙÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ·¯ÇÑ °¡´É¼ºÀ» Á¦°ÅÇϱâ À§ÇØ ½ºÅ©¸³Æ®°¡ È£ÃâµÉ ¶§ SCRIPT_NAME ȯ°æº¯¼ö¸¦ °Ë»çÇÏ¸é µÈ´Ù. ¸¸¾à, ½ºÅ©¸³Æ®°¡ º¸È£µÈ ½ºÅ©¸³Æ®¸¦ »ç¿ëÇؼ È£ÃâµÇ¾ú´Ù¸é, º¸È£µÈ ±â´ÉÀ» ¾µ ¼ö ÀÖÁö¸¸ ¸¸¾à ±×·¸Áö ¾Ê´Ù¸é, º¸È£µÈ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù.
¿¹¸¦ µé¾î ´ÙÀ½°ú °°Àº ÆÞ Äڵ带 Á¶»çÇغ¸±â ¹Ù¶õ´Ù.
if ( $ENV{'SCRIPT_NAME'} =~ [Regexp] ) {
$MyScriptUrl = [secure link];
$form{'TABLE'} = 'Private_Sequences';
$form{'TITLE'} = 'All Records';
} else {
$MyScriptUrl = [public link];
$form{'TABLE'} = 'Public_Sequences';
$form{'TITLE'} = 'Public Records';
}
ÀÌ°ÍÀ¸·Î º¸È£µÇÁö ¾ÊÀº ½ºÅ©¸³Æ®·Î º¸È£µÈ ±â´ÉÀ» È£ÃâÇÏ´Â Å©·¡Ä¿¸¦ ¸·À» ¼ö ÀÖ´Ù. ¸¸¾à, ½ºÅ©¸³Æ®°¡ º¸È£µÈ °æ·Î·ÎºÎÅÍ È£ÃâµÇÁö ¾Ê´Â´Ù¸é, º¸È£µÈ ±â´ÉÀ» »ç¿ëÇÒ ¼ö ¾ø´Ù.
ÁÖÀÇ :
ÀÏ´Ü »ç¿ëÀÚ°¡ »ç¿ëÀÚ ¸í°ú Æнº¿öµå¸¦ ÀÔ·ÂÇϸé, ÀÚ½ÅÀÇ À¥ ºê·Î¿ìÀú¸¦ Á¾·áÇϱâ Àü±îÁö º¸È£µÈ µð·ºÅ丮ÀÇ ¸ðµç ÆÄÀÏÀ» Á¢±ÙÇÒ ¼ö ÀÖ´Ù. ¸¸¾à »ç¿ëÀÚ°¡ ºê·Î¿ìÀú¸¦ Á¾·áÇÏ°í, ´Ù½Ã ±âµ¿ÇÑ ÈÄ, º¸È£µÈ µð·ºÅ丮·Î Á¢±ÙÇÏ´Â °æ¿ì, ´Ù½Ã »ç¿ëÀÚ À̸§°ú ¾ÏÈ£¸¦ ÀÔ·ÂÇØ¾ß ÇÑ´Ù.
ƯÁ¤ È£½ºÆ®·Î(ºÎÅÍ)ÀÇ Á¢±Ù Á¦ÇÑ
.htaccess ÆÄÀÏÀÇ ¶Ç ´Ù¸¥ ÀÀ¿ëÀº ´ÙÀ½°ú °°´Ù.
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName ExampleAllowFromNCSA
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from .ncsa.uiuc.edu
</Limit>
Á¢±ÙÀ» Á¦¾îÇÒ ÇÊ¿ä¿¡ µû¶ó allow¿Í deny Çʵ带 º¯°æÇÒ ¼ö ÀÖ´Ù.
°³ÀÎ »ç¿ëÀÚÀÇ Á¢±ÙÀ» °ÅÀýÇϱâ À§Çؼ´Â .htpasswd ÆÄÀÏ¿¡¼ »ç¿ëÀÚ À̸§À» »èÁ¦ÇÏ¸é µÈ´Ù.