ȨÆäÀÌÁö Á¢¼Ó ip°¡ ¾î´À ±¹°¡ÀÎÁö ÆľÇÇÏ¿© Á¢¼ÓÀ» Â÷´ÜÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.
À¥È£½ºÆà »ç¿ëÀÚ´Â ¾ÆÆÄÄ¡ ¸ðµâ¿¡ mod_geoip°¡ ÀÖÀ¸¸é °ü¸®ÀÚ¿¡°Ô ¿äûÇÏ½Ã¸é µË´Ï´Ù.
geoip ¸ðµâÀ» ¼³Ä¡ÇÏ°í ¼³Á¤ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.
1. geoip C API ¼³Ä¡
apache ÀÇ mod_geoip ¸ðµâÀ̳ª phpÀÇ geoip.so ¸ðµâÀ» ¼³Ä¡Çϱâ À§Çؼ´Â ¸ÕÀú GeoIP C API ¸¦ ¼³Ä¡ÇØ¾ß ÇÕ´Ï´Ù.
http://www.maxmind.com/app/c ¿¡¼ ¹Þ¾Æ ¼³Ä¡ ÇÕ´Ï´Ù.
# ./configure --prefix=/usr/local/GeoIP
# make
# make install
ipÁ¤º¸¸¦ ´ã°í ÀÖ´Â ¹ÙÀ̳ʸ® µ¥ÀÌÅÍÆ÷¸ËÆÄÀÏ(geoip.dat)Àº ÇÑ´Þ¿¡ Çѹø¾¿ ¾÷µ¥ÀÌÆ®µÇ´Ï ÇØ´ç ȨÆäÀÌÁö¿¡¼ ´Ù¿î¹Þ¾Æ¼ ¾÷µ¥ÀÌÆ® ÇÏ½Ã¸é µË´Ï´Ù.
2. Apache ¼³Á¤Çϱâ
http://www.maxmind.com/app/mod_geoip ¿¡¼ »ç¿ëÁßÀÎ ¾ÆÆÄÄ¡ ¹öÁ¯( 1.3.X ¶Ç´Â 2.X)¿¡ ¸Â´Â mod_geoip¸¦ ´Ù¿î ¹Þ½À´Ï´Ù.
# apxs -i -a -L/usr/local/GeoIP/lib -I/usr/local/GeoIP/include -lGeoIP -c mod_geoip.c
Á¤»óÀûÀ¸·Î ¸ðµâÀÌ ¿Ã¶ó°¬´ÂÁö È®ÀÎÀº phpinfo ÆäÀÌÁö Apache Environment ºÎºÐÀ» È®ÀÎÇØ º¸¸é µË´Ï´Ù.
3. ½ÇÀü ÀÀ¿ë <IfModule geoip_module>
GeoIPEnable On
GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
<Location /data>
SetEnvIf GEOIP_COUNTRY_CODE KR allowcountry
<Limit GET POST>
Deny from all
Allow from env=allowcountry
</Limit>
</Location>
</IfModule>
À§ ³»¿ëÀº ip´ë¿ªÀÌ KR¸¸ Á¢¼ÓÀ» Çã¿ëÇÏ°í ´Ù¸¥ ¸ðµç ±¹°¡´Â Â÷´ÜÇÑ´Ù´Â ³»¿ëÀÔ´Ï´Ù.
À§ ³»¿ëÀ» httpd.conf ¿¡ Àû¿ëÇϰųª .htaccess ÆÄÀÏ·Î ¸¸µé¾î¼ »ç¿ëÇÏ¸é µË´Ï´Ù.
Ãß°¡ »çÇ×ÀÔ´Ï´Ù.
¾ÆÆÄÄ¡ ¸ðµâÀ» ¿Ã¸° ÈÄ phpinfo ȸ鿡¼ ¾Æ·¡ ±×¸²°ú °°ÀÌ geoip ¸ðµâÀÌ Á¤»óÀûÀ¸·Î ¿Ã¶ó¿Ô´ÂÁö È®ÀÎÇÕ´Ï´Ù.
httpd.conf ÆÄÀÏÀÇ Àû¿ëÀº ¾Æ·¡ ¿¹Á¦¿Í °°ÀÌ Àû¿ëÇÏ½Ã¸é µË´Ï´Ù.
Àß ¾ÊµÈ´Ù´Â ºÐµéÀÌ °è¼Å¼ Á¦°¡ Á÷Á¢ È®ÀÎ Çß½À´Ï´Ù ¤Ñ,.¤Ì Àúµµ À§ÀÇ ¿¹Á¦·Î´Â Àß ¾ÊµÇ³×¿ä..÷¿£ ÀߵȰͰ°Àºµ¥ ¤¾
#ƯÁ¤ ±¹°¡¸¸ Á¢¼Ó°ÅºÎ
<IfModule geoip_module>
GeoIPEnable On
GeoIPDBFile /usr/local/GeoIP/share/GeoIP/GeoIP.dat
</IfModule>
<Directory /home/userid/html>
SetEnvIf GEOIP_COUNTRY_CODE CN BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE US BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE NO BlockCountry
Order deny,allow
Deny from env=BlockCountry
#Allow from 10.0.0.1
</Directory>
#ƯÁ¤ ±¹°¡¸¸ Á¢¼ÓÇã¿ë
<Directory /home/userid/html>
SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE KR AllowCountry
Deny from all
Allow from env=AllowCountry
#Allow from 10.1.2.3
</Directory>