묻고답하기
지정 ip대역을 원하는 사이트로 이동시키는 코딩이 안되요 ㅠㅠ
2015.08.04 11:36
제가 지금 php로 지정ip대역은 원하는 사이트로 이동시키는 소스를 짜보았어요.
밑에 if 와 elseif로 구분을 지었는데
전부 if로 인식되서 같은 사이트로만 이동이 되네요 ㅠㅠ
spider_ip 에 들어가는 ip대역들은 9천여개 정도 되고 (아래 소스는 축약형태로만 4개정도 제외하고 지웠습니다.)
어떤분은 RewriteRule을 사용하라고 하시는데 대역 설정을 못해서 모르겠어요 그건
이해하기가 어렵더라구요 ㅠㅠ .htaccess 도 이용해야하는것 같고...
아래 출력에서 불러오는걸 하나하나 불러와서 인식시키려 했는데 인식이 모두 if에만 몰리게 되네요 ㅠㅠ
어떻게 처리해야 되나요 ㅠㅠ 도와주세요ㅠㅠ
<?php
$spider_footprint = array('rawler','pider','obot','eek','canner','lurp','cooter','rachnoidea','KIT','ulliver','arvest');
$spider_ip = array('128.134.0.0/16' ,'129.254.0.0/16' , '192.5.90.0/24' ,'134.75.0.0/16' );
$agent = $agent2 = $_SERVER['HTTP_USER_AGENT'];
$remote_ip = $_SERVER['REMOTE_ADDR'];
$is_spider = strcmp($agent,str_ireplace($spider_footprint,'',$agent2))!=0 || in_array($remote_ip,$spider_ip) ? 1 : 0;
if ( $remote_ip == $spider_ip[0] or $spider_ip [1] or $spider_ip [2045] or $spider_ip [2046]){
header('Location: http://www.soundux.co.kr/);
}
elseif ( $remote_ip3 == $spider_ip [3042] or $spider_ip [3046] or $spider_ip [3080] or $spider_ip [3081] ) {
header('Location: http://www.soundux.co.kr/cn');
}
elseif ( $remote_ip3 == $spider_ip [6792] or $spider_ip [6793] or $spider_ip [6794] or $spider_ip [6801] )
{
header('Location: http://www.soundux.co.kr/wp/jp');
}
else {
header('Location: http://www.soundux.co.kr/wp/en');
}
?>