웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
한국 ip list 범위 체크 및 데이터 갱신
2015.03.30 09:41
getKoreaNationIpList(); 로 json 파일 저장 한번 하고,
echo matchKoreaNationIp('203.238.183.231') ? '한국' : '외국';
License : BSD
1
2
3
4
5
6
7
8
9
10
11
|
cidr 로 하면 데이터가 너무 커서 버림. 데이터가 json 이니 js 버전도 가능. getKoreaNationIpList(); 로 json 파일 저장 한번 하고, echo matchKoreaNationIp( '203.238.183.231' ) ? '한국' : '외국' ; License : BSD |
[ ▼ 참고 Source ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
function matchKoreaNationIp( $ip ) { static $nip = null; if (null === $nip ) $nip = json_decode( file_get_contents (dirname( __FILE__ ). '/ipv4list.ko.json' )); $ip = sprintf( '%08x' , ip2long ( $ip )); $if = substr ( $ip , 0, 2); if (!isset( $nip ->{ $if })) return false; $nf = & $nip ->{ $if }; foreach ( $nf as $n ) { if ( $n [0] > $ip ) continue ; if ( $n [1] < $ip ) continue ; return true; } return false; } function getKoreaNationIpList() { $ips = array (); foreach ( $xml ->ipv4 as $ipv4 ) { $ips [ $ipv4 ->sno. '' ] = $ipv4 ->eno; } ksort( $ips ); $ranges = array (); $beno = 0; $sf = '' ; foreach ( $ips as $sip => $eip ) { echo $sip , ' ' , $eip , "\n" ; $sno = ip2long ( $sip ); if ( $sno == $beno ) { $sh = array_pop ( $ranges [ $sf ])[0]; } else { $sh = sprintf( '%08x' , $sno ); } $eno = ip2long ( $eip ); $eh = sprintf( '%08x' , $eno ); $sf = substr ( $sh , 0, 2); if (!isset( $ranges [ $sf ])) $ranges [ $sf ] = array (); $ranges [ $sf ][] = array ( $sh , $eh ); $beno = $eno + 1; } file_put_contents (dirname( __FILE__ ). '/ipv4list.ko.json' , json_encode( $ranges )); } |
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
즐겨찾기 소스 - 파비콘등록 | soroweb | 2015.04.16 |
누리고 쇼핑몰 상품취소 혹은 반품시 마일리지 자동회복하기 [6] | garnecia | 2015.01.21 |
확장변수에 시분초 추가하기 [1] | 해떨 | 2015.04.15 |
JS로 IE 6,7,8 구분하기 [4] | 키스투엑스이 | 2015.04.14 |
|웹폰트(네이버 맑은 고딕, 나눔고딕) 적용하기 [1] | 다큰왕자 | 2014.03.18 |
나눔고딕 웹 폰트 적용하기. [10] | 정찬명 | 2011.12.15 |
에디터에서 URL 클릭시 "http://" 삭제하는 방법 [2] | 콜롬보. | 2015.03.13 |
통합검색 사용 가부 설정 및 특정 그룹만 사용가능하게 제한 설정 기능 추가 - 보안이슈가 될 수 있는 부분 [1] | sejin7940 | 2015.04.10 |
요청한 기능을 실행할 수 있는 권한이 없습니다. - 오류해결 | I-JEX | 2015.04.10 |
댓글 새로고침 수정 [22] | Lansi | 2013.09.06 |
메인 로고 및 메인 이미지 변경 방법 [1] | okcashbag042 | 2015.04.08 |
웹 재요청 방지 및 트래픽 감소를 위한 방법 | 마루디자인 | 2015.04.06 |
setModule() 오류 발생시 | qkrcjfgus33 | 2015.04.04 |
ie11에서 통합검색시 page가 바뀌면 검색키워드가 없어지거나 이상한 글자로 바뀌는 것에 대한 팁 | garnecia | 2015.04.03 |
[고급] 내 XE 모듈에 editor 삽입하기 [8] | 개발해보쟈 | 2013.01.22 |
스케치북게시판 최신버전에 네이트온 /마이피플/플립보드 추가하는 방법 [4] | 가을풍경 | 2015.03.09 |
로고 만들기 귀찮을때^^* [1] | 수백 | 2015.03.06 |
[스케치북5] 댓글 수정 간략화하기.. (새로고침 없이 하는 방법 추가) [16] | XE만세 | 2014.01.05 |
php 5.6에서 인증메일 SMTP 연결에 실패할때.. | 루비스코 | 2015.03.31 |
한국 ip list 범위 체크 및 데이터 갱신 | 마루디자인 | 2015.03.30 |