해외 IP 접속 차단하기 With ASP(VB)
This post was written on March 8, 2010

ASP 관련 첫 포스팅이네요.
새삼 프로그래밍 언어를 여러가지 사용한다는 사실이 결코 쉬운 것은 아니라는 사실에 대해
깊이 있게 깨닫고 있는 중 입니다.

두가지 이유 때문인데요.
1. 프로그래밍 구조가 다르다는 것.
2. 시스템 환경이 다르다는 것.
입니다.

2번이야 워낙 시스템에 약한 편이기도 하고,
필요한 것들만 찾아서 힘겹게 처리하고 있는 중이기에 뭘 해도 쉽지 않지만,
1. 프로그래밍 구조가 다른 것은 꽤 큰 부분이네요.
Windows + IIS + ASP.NET(혹은 ASP) + MS-SQL 와 Linux + Apache + PHP + MySQL 의 환경의 특성과
프로그래밍 방법론이 차이가 있어 보입니다.
이번 기회에 여러가지 환경에 대해 일하며 분석해 볼 예정이고요.

환경이 바뀐다고 해서 프로그램의 퀄리티가 달라지면 안될텐데요.
여러 프로그래밍 언어에 따른 여러가지 프로그래밍 방법론을 익히고, 거부감을 느끼지 않는 것은
대단히 중요한 일이라고 알고 있고, 어줍잖은 자만감은 버리고 열심히 해야 할 것 같습니다.
웹에서는 더 많은 환경을 접해보아야 좀 더 진정한 전문가라는 소리를 할 수 있을 것 같네요.
모든 환경에서 허접하지 않게 고밀도 프로그래밍을 할 수 있는 그 날이 오기를 바랍니다.

아무튼 이번에 경우에는 ASP 환경에서 해외 IP 접속을 차단해야 될 일이 있었고,
다행히도 인터넷의 도움을 얻어 쉽게 해결 할 수 있었기에 이에 대한 방법을 소개
하고자 합니다.
검색하는데 고생을 많이 해서인지 꼭 써놓고 싶더라고요. ^^;

GeoIP 다운로드
위 파일은 태오사이트의 게시판에서 얻었고요, //www.maxmind.com/ 에서도 제공합니다.

GeoIP.zip 파일의 압축을 풀면 4개의 파일이 생깁니다.
GeoIP.dat, GeoIPCOM.dll, GeoIPTest.asp, README.txt
(2009년 2월 기준의 데이터입니다. 최신 버젼은 maxmind.com 에서 받으실 수 있습니다.)

그리고는 다음과 같은 과정을 거치시면 되겠습니다.
1. GeoIPCOM.dll을 system32 폴더에 복사 – C:\windows\system32
2. 레지스트리에 DLL등록 – 도스 모드에서 실행 regsvr32 GeoIPCOM.dll
3. GeoIP.dat 를 적당한 위치로 복사(혹은 이동)
4. 프로그램에 적용

<% Response.Buffer = TRUE %>
<%
ip = Request.Servervariables(“REMOTE_ADDR”)
set geoip = Server.CreateObject(“GeoIPCOM.GeoIP”)
geoip.loadDataFile(“C:\Program Files\GeoIP\GeoIP.dat”) ‘GeoIP.dat의 위치
country_code = geoip.country_code_by_name(ip)
if country_code = “KR” then
else
한국이 아닐 때의 코드 작성
end if
%>

인터넷을 뒤져보니 maxmind.com 에서는 CSV 파일로도 IP 테이블을 공유하는 듯하네요.

편한 방법으로 사용하시면 될 것 같습니다.
CSV 파일 받기(maxmind.com의 FTP)

좋은 시간 되십시오.
감사합니다.


HS LOG List of IT ISSUE
No Comments

Thank you for visiting. If you leave a comment, I will not forget.

HS LOG List of IT ISSUE

 
The number of visitors for this post is 1,988 (measured by Jetpack).