세이박스

[PHP] 보안 국내 IP 대역만 접속 하도록 응용

웹프로그램


국내 아이피 대역을 확인 하실려면
https://ip.nida.kr/ip_cate_stat/stat_05_04.act

에서 확인 가능하며 엑셀 파일로도 다운 가능 합니다.
https://ip.nida.kr/ip_cate_stat/stat_05_04_toexcel.act

다운 받은 엑셀 파일내용 중 시작IP 와 마지막 IP 값을
각 자리수가 3자리가 되도록 수정후 . 점을 제거 합니다.
202.6.95.0 인경우 202006095000 처럼 바뀌겠군요.
이렇게 바뀐 값을 "시작IP_마지막IP" 처럼 변경해서 배열로 담습니다.
저의 경우 에디트 플러스를 활용 했습니다.
$ipgroup = array("2020060950000_202006095255","202014103000_202014103255");
처럼 배열로 담습니다.
이후 추가되는 IP만 배열에 계속 추가 해주면 됩니다.
이와 같은 변경하는 작업을 어럽게 느끼시는 분을 위해 제가 오늘 날짜로 올라온것 까지 작업해서 첨부 해놨습니다.
첨부파일 다운받으실려면 회원가입후 이메일 인증 받으시고 등업요청후 제가 승인하면 다운 가능 해 집니다.
워낙 광고 도배하는 회원이 있어서 이와 같은 복잡한 절차를 거치도록 했으니 양해 바랍니다.

이제 저 배열을 활용하기만 하면 되겠군요.
접속자 IP를 받아서 비교를 한번 해보겠습니다.
$userip = getenv("REMOTE_ADDR");
//. 점으로 구분해서 변수로 담습니다.
$tmpuserip = explode(".",$userip);
//str_pad 함수를 이용해서 자리수를 "0"으로 채워 하나의 값으로 합칩니다.
$userip = str_pad((int)$tmpuserip[0],3,"0",STR_PAD_LEFT).str_pad((int)$tmpuserip[1],3,"0",STR_PAD_LEFT).str_pad((int)$tmpuserip[2],3,"0",STR_PAD_LEFT).str_pad((int)$tmpuserip[3],3,"0",STR_PAD_LEFT);
//배열 IP만큼 돌립니다.
for($i=0;$i<count($ipgroup);$i++) {
 //변수값을 분리합니다.
 $tmpip = split("_",$ipgroup[$i]);
 //접속자 IP가 시작IP값보다 크거나 마지막 IP보다 작은 값이면 포함되는 값이므로 차단
 if($tmpip[0]<=$ip || $tmpip[1]>=$ip) {
  echo "국내 IP만 접속 허용합니다.";
  exit;
 }   
}
배열 값은 "대역 시작 IP _ 대역 끝 IP" 로 저장 되어 있습니다.
따라서 접속한 사용자의 IP를 받아서 루프를 돌며 해당 대역에 포함되는지 체크하시면 됩니다.

참, IP6 IP에 대해서는 별도로 처리 하셔야함을 잊지 마세요! ^^

국내 웹브라우저 점유율

서버,보안
 

출처 : http://openweb.or.kr/

국내 웹브라우저 점유율

2007.5.15
http://internettrend.co.kr 을 방문하여 무료회원 가입을 하시면, 국내 시장의 OS 점유율(윈도 99.8% 이상) 등은 물론이고, 국내 시장의 웹브라우저 점유율에 대한 자료를 보실 수 있습니다.
예상하셨겠지만, 2007.4.15 - 2007.5.13 한달간 자료에 의하면 MS IE가 99.25%를 차지하고 있습니다. 그러나, 이 수치는 “전체 카테고리”의 경우입니다. “커뮤니티”라는 카테고리를 선택하여, 같은 기간동안의 웹브라우저 점유율을 확인해 보시기 바랍니다. 그 결과는 다음과 같습니다:
웹브라우저 점유율
MS IE 점유율은 93.11% 입니다. 그러나 같은 기간 중, “쇼핑(종합몰)” 카테고리의 웹브라우저 점유율을 보면, MS IE가 99.53%를 차지합니다.
평소에 파이어폭스, 오페라 등의 웹브라우저를 쓰는 이용자도, 온라인 쇼핑을 위해서는 (결제 때문에) 어쩔 수 없이 MS IE를 사용할 것을 강요 당한다는 점을 이 자료가 보여줍니다. (실제로 제가 언제나 겪는 일입니다만, 저뿐만이 아니겠지요.)
금결원이 장악하고 있는 공인인증서 문제가 해결되고 나면, 범용성있는 결제 솔루션 제공자들이 정당하게 기술력으로 경쟁할 수 있게 됩니다. 페이게이트(http://paygate.net)사는 이미 그러한 기술력을 확보하고 있고, Dacom도 현재 개발에 박차를 가하고 있으며, 그외에도 몇 몇 회사가 열심히 노력하고 있습니다.
그렇게 되면, MS IE 점유율이 80% 대 수준으로 조정되는 것은 순식간의 일이 될 것입니다. 그러고 나면, 나머지 상업 사이트들은 바꾸지 말라고 해도, 스스로 기술중립적 웹사이트로 바꾸게 될 것입니다.
금결원의 횡포와 반칙도 이제 얼마 남지 않았다고 생각합니다. 여러분들 생각은 어떠신지요?
말 난 김에, 파이어폭스 웹브라우저는 http://mozilla.or.kr 에서 무료로 내려받을 수 있고, 오페라는 http://www.opera.com/ 에서 무료로 내려받을 수 있습니다. 그동안 “인터넷” 프로그램은 그저 하나밖에 없는 줄 아셨던 분들은 창(윈도우) 밖을 한번 보시기 바랍니다. 새로운 세계가 그곳에 있습니다. 

국내 프록시 IP 주소 목록

서버,보안
61.252.60.30: 3124 Planetlab/CoDeeN server Jan-30, 17:37 Korea, Republic of
210.125.84.16: 3124 Planetlab/CoDeeN proxy Jan-31, 22:24 Korea, Republic of
210.125.84.15: 3124 Planetlab/CoDeeN Jan-31, 03:45 Korea, Republic of
210.125.84.16: 3128 high-anonymous proxy Jan-31, 22:25 Korea, Republic of
61.252.60.30: 3128 Planetlab/CoDeeN Feb-01, 01:41 Korea, Republic of
222.122.148.83: 80 transparent proxy Feb-01, 00:14 Korea, Republic of
210.107.249.51: 3124 Planetlab/CoDeeN proxy Jan-31, 09:42 Korea, Republic of
210.125.84.16: 3127 Planetlab/CoDeeN Jan-31, 19:44 Korea, Republic of
211.233.41.27: 8080 transparent proxy server Feb-01, 00:58 Korea, Republic of
141.223.149.36: 8896 high-anonymous proxy server Jan-31, 23:11 Korea, Republic of
210.125.84.15: 3128 high-anonymous Jan-31, 03:30 Korea, Republic of
125.244.155.194: 8080 transparent server Jan-31, 10:51 Korea, Republic of
143.248.139.56: 3124 Planetlab/CoDeeN proxy Jan-31, 03:27 Korea, Republic of
210.107.249.51: 3128 Planetlab/CoDeeN proxy Jan-31, 13:04 Korea, Republic of

* 국내 프록시 IP중 테스트 확인된 IP

[접속 속도 양호함]
222.122.148.83: 80 transparent proxy Feb-01, 00:14 Korea, Republic of
141.223.149.36: 8896 high-anonymous proxy server Jan-31, 23:11 Korea, Republic of

[접속 속도 보통]
211.233.41.27: 8080 transparent proxy server Feb-01, 00:58 Korea, Republic of
125.244.155.194: 8080 transparent server Jan-31, 10:51 Korea, Republic of