프로그램개발/ServerSide(PHP,Node.js)
해외 ip차단 소스
크레도스
2023. 4. 26. 13:50
출처 : https://phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=482146&page=1
WWW.PHPSCHOOL.COM
개발자 커뮤니티 1위 PHPSCHOOL.COM 입니다.
phpschool.com
- function is_korean_ip($ip_address) {
$korean_ip_nets = array(
'58.0.0.0/8',
'59.0.0.0/8',
'60.0.0.0/8',
'61.0.0.0/8',
'110.0.0.0/8',
'111.0.0.0/8',
'112.0.0.0/8',
'113.0.0.0/8',
'114.0.0.0/8',
'115.0.0.0/8',
'116.0.0.0/8',
'117.0.0.0/8',
'118.0.0.0/8',
'119.0.0.0/8',
'120.0.0.0/8',
'121.0.0.0/8',
'122.0.0.0/8',
'123.0.0.0/8',
'125.0.0.0/8',
'126.0.0.0/8',
'211.0.0.0/8',
'218.0.0.0/8',
'219.0.0.0/8',
'220.0.0.0/8',
'221.0.0.0/8',
'222.0.0.0/8'
);
foreach ($korean_ip_nets as $korean_ip_net) {
if (ip2long($ip_address) === false) {
// 올바른 IP 주소가 아닌 경우
return false;
}
$ip_net_arr = explode('/', $korean_ip_net);
$ip_net = $ip_net_arr[0];
$mask = $ip_net_arr[1];
if ((ip2long($ip_address) & ~((1 << (32 - $mask)) - 1)) === ip2long($ip_net)) {
return true;
}
}
return false;
}
대역대는 더 있을거임