로

한국 IP가 아니면 차단 하는 extend (국내 모든 IP 내장)

· 2025-05-15 (목) 09:35:50 · 3247 · 13

그누보드 extend 폴더에 넣어두면 국내IP만 접속가능하게 됩니다.  2025년 5월 국내 IP  기준

국내IP 추출하는 방법은 링크 참고

https://cmdkr.tistory.com/entry/전체국가-IP-리스트중-한국-IP만-문자열로-저장하는-소스-대략-2200개-정도됨

 

<?php
/*
특정 IP가 국내 IP 인지 확인하는 함수
작성 : 2025-05-15 김성대
한국인터넷정보센터.한국/jsp/statboard/IPAS/ovrse/natal/IPaddrBandCurrent.jsp?nationCode1=KR
에서 2025년5월 현재 전체국가 IP 리스트 중 한국만 뽑아서 문자열로 저장 (대략 2200개 정도됨)
192.* 172.* 공유기 IP도 포함

테스트
$ip = "104.8.230.50";
$ip=$_SERVER['REMOTE_ADDR'];
$ret=is_ip_in_kr($ip);
echo "한국 IP 확인 결과 $ip : $ret<BR>";
*/
if (!is_ip_in_kr($_SERVER['REMOTE_ADDR'])) {
    die("This service is currently limited to users in Korea. (한국에서만 접속 가능합니다.)");
}


/**
 * 특정 IP가 지정된 서브넷 범위 내에 있는지 확인하는 함수
 *
 * @param string $ip 검사할 IP 주소
 * @param string $subnet 서브넷의 시작 IP 주소
 * @param int $cidr 서브넷 마스크 (CIDR 값)
 * @return bool 해당 IP가 서브넷 범위 내에 있으면 true, 아니면 false
 */
function is_ip_in_subnet($ip, $subnet, $cidr) {
    // 시작 IP 주소를 정수로 변환
    $firstIp = ip2long($subnet);
    //echo "$ip,$subnet,$cidr,<BR>";

    // 서브넷 마스크를 기반으로 마지막 IP 주소 계산
    $lastIp = $firstIp + (1 << (32 - $cidr)) - 1;

    // 입력받은 IP 주소를 정수로 변환 후 범위 비교
    $ipLong = ip2long($ip);
    return $ipLong >= $firstIp && $ipLong <= $lastIp;
}

//2025-05-15 현재 국내 IP 현황
// 127. ... 172... 는 공유기 내부 ip
function is_ip_in_kr($ip) {
    $arr_ip=explode("\n","
127.0.0/16
172.30.1/16
14.128.128/17
14.129.0/16
45.112.88/21
.... (소스에는 전체 데이터 있음)

160.187.186/23
163.223.94/23
");

    foreach($arr_ip as $buff) {
        $arr=explode("/",trim($buff));
        if ($arr[0] && is_ip_in_subnet($ip, $arr[0].'.0', $arr[1])) {
            return true;
        }
    }
    return false;
}

첨부파일

check_kr_ip.php (34.5 KB) 73회 2025-05-15 09:35
총 2명이 반응했습니다
|

댓글 13개

2025-05-15 (목) 12:57:38

감사합니다 ^^

선생님 이 파일 하나만 저 폴더에 넣으면 알아서 적용되는거에요 ? 그럼 한국인만 사이트에 접속되는거지요 ?

 

2025-05-16 (금) 11:24:25

@ploki0911 네 그렇습니다. 한국으로 등록된 IP만 가능합니다.

그외 지역 IP은 한국인터넷정보센터 에서 받아서 파일에 추가하시면 그 지역도 허용 됩니다.

감사합니다..잘 사용하겠습니다.

 

그리고 구글애드센스나 구글애널리틱스 등

구글 제품 해외 ip는 제외하는 옵션이 있었으면 좋겠습니다

2025-05-16 (금) 11:28:45

@아론다론 구글 봇 IP 리스트를 파일에 추가하시면 됩니다.

감사합니다. 역으로 특정지역 아이피만 차단하려면 어떻게 해야 할까요?

2025-05-25 (일) 19:57:28

적용했습니다 

아주 쉽게  적용 가능하고

쉽게 ip 추가 가능하니 넘 좋습니다

감사합니다. 잘 사용하겠습니다.

2025-06-20 (금) 23:54:35

수고해 주시어 또 하나를 배워 봅니다....

감사합니다.

2026-01-19 (월) 10:30:18
감사합니다^^
2026-03-05 (목) 16:32:10
구글 서울 사이트맵 봇 추가하려면
34.64.82/64 
34.64.82/66
34.64.82/69
34.64.82/64
다른 아이피 목록에 전부 / 되있어서 하긴 했는데 맞는건가요?
해외 크롤링때문에 트레픽이 너무 자주 폭발하여 저도 뚜껑이 폭발! 돌아버릴 것 같았는데. 너무너무 감사드립니다. 오늘자 기준으로 몇 개의 ip 대역대가 추가되었군요.
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
25-06-24 조회 3,023
25-06-22 조회 3,145
25-06-21 조회 3,945
25-06-17 조회 2,969
25-06-17 조회 2,827
25-06-11 조회 3,424
25-06-02 조회 3,063
25-05-28 조회 2,915
25-05-25 조회 2,908
25-05-17 조회 2,973
25-05-17 조회 3,258
25-05-15 조회 2,875
25-05-15 조회 3,248
25-05-14 조회 2,752
25-05-13 조회 2,844
25-05-06 조회 3,082
25-05-06 조회 3,052
25-05-05 조회 2,868
25-05-02 조회 3,297
25-04-27 조회 2,882
25-04-25 조회 2,669
25-04-24 조회 2,748
25-04-23 조회 2,889
25-04-22 조회 2,931
25-04-20 조회 3,098
25-04-19 조회 3,236
25-04-13 조회 3,100
25-04-12 조회 2,869
25-04-10 조회 3,168
25-04-10 조회 3,092