링크
https://cmdkr.tistory.com/entry/%ED%8A%B9%EC%A0%95-IP%EA%B0%80-%EA%B5%AD%EB%82%B4-IP-%EC%9D%B8%EC%A7%80-%ED%99%95%EC%9D%B8%ED%95%98%EB%8A%94-%ED%95%A8%EC%88%98-34Kb-%EB%A1%9C-%EA%B5%AD%EB%82%B4-%EB%AA%A8%EB%93%A0-IP%EB%A5%BC-%ED%95%A8%EC%88%98%EC%97%90-%EB%82%B4%EC%9E%A5 (36) https://cmdkr.tistory.com/entry/%EC%A0%84%EC%B2%B4%EA%B5%AD%EA%B0%80-IP-%EB%A6%AC%EC%8A%A4%ED%8A%B8%EC%A4%91-%ED%95%9C%EA%B5%AD-IP%EB%A7%8C-%EB%AC%B8%EC%9E%90%EC%97%B4%EB%A1%9C-%EC%A0%80%EC%9E%A5%ED%95%98%EB%8A%94-%EC%86%8C%EC%8A%A4-%EB%8C%80%EB%9E%B5-2200%EA%B0%9C-%EC%A0%95%EB%8F%84%EB%90%A8 (33)그누보드 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;
}
댓글 10개
게시글 목록
| 번호 | 제목 |
|---|---|
| 24149 | |
| 24140 | |
| 24133 | |
| 24125 | |
| 24119 | |
| 24109 | |
| 24105 | |
| 24101 | |
| 24093 | |
| 24089 | |
| 24077 | |
| 24074 | |
| 24071 | |
| 24070 | |
| 24067 | |
| 24056 | |
| 24050 | |
| 24046 | |
| 24043 | |
| 24040 | |
| 24037 | |
| 24036 | |
| 24035 | |
| 24034 | |
| 24021 | |
| 24017 | |
| 24005 | |
| 24002 | |
| 23990 | |
| 23980 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기