본문 바로가기
웹프로그램

[PHP] IP4 대역 . 제거 및 자릿수 변경하기

by 세이박스 2009. 4. 10.
반응형




국내 IP대역만 허용하기 위한 방법에 대한 앞 게시글을 보신분이라면 IP를 일괄 적으로 편하게 수정 했으면 하는 분들 있을것 같아 제가 변경 하는데 사용한 소스 올립니다.

일단 엑셀파일에서 시작IP 와 마지막 IP를 에디터플러스로 불러와서


변경 : (줄의시작) ^ -> "
변경 : (텝영역복사) 텝 -> _
변경 : (줄의끝) $ -> ",
변경 : (개행) \n -> 제거

위와 같이 4단계를 거치면
"202.6.95.0_202.6.95.255","202.14.103.0_202.14.103.255","202.14.165.0_202.14.165.255",....
처럼 만들어 진다.

이 값을 아래 소스에 넣어서 돌리면 각 IP 자릿수를 맞도록 수정 해줍니다.
아래과정은 소스상에 넣어두면 매번 번거롭게 변환 과정 안거쳐도 되겠지만
그래도 자주처리하는 작업이 아니므로 웹부하를 들어줄겸 그냥 수작업으로 해주는게 좋을듯 합니다.

<?
//2009.4.10 받아온 IP대역
$ipgroup = array("202.6.95.0_202.6.95.255","202.14.103.0_202.14.103.255","202.14.165.0_202.14.165.255",......);

for($i=0;$i<count($ipgroup);$i++) {
 $tmpip = explode("_",$ipgroup[$i]);

 $userip = $tmpip[0];
 $tmpuserip = explode(".",$userip);
 $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);
 $ipsave .= "\"".$userip."_";
 
 $userip = $tmpip[1];
 $tmpuserip = explode(".",$userip);
 $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);
 $ipsave .= $userip."\",";
}

echo $ipsave;
?>

반응형