특정 아이피대역을 지정해서 해당아이피대역은 내용을 안보이게 하려고합니다. 정보
특정 아이피대역을 지정해서 해당아이피대역은 내용을 안보이게 하려고합니다.본문
특정 아이피대역을 지정해서 해당아이피대역은 내용을 안보이게 하려고합니다.
적용이 잘안돼서 다시올려봅니다.
제가 울트라 왕초보라 .. 적용하니 잘안돼서요..전체소스올려볼께요 적용법좀 부탁드려요
현제 이렇게 적용하고있거든요..
<?
$BLOCK_IP = array();
$BLOCK_IP[] = '000.000.000.';
$BLOCK_IP[] = '000.000.000.003';
?>
<?
if(($is_member && $member[mb_id] != '아이디' && !in_array($_SERVER['REMOTE_ADDR'], $BLOCK_IP)) || (!$is_member && !in_array($_SERVER['REMOTE_ADDR'], $BLOCK_IP))) {
?>
내용나오는부분
<? } ?>
적용이 잘안돼서 다시올려봅니다.
제가 울트라 왕초보라 .. 적용하니 잘안돼서요..전체소스올려볼께요 적용법좀 부탁드려요
현제 이렇게 적용하고있거든요..
<?
$BLOCK_IP = array();
$BLOCK_IP[] = '000.000.000.';
$BLOCK_IP[] = '000.000.000.003';
?>
<?
if(($is_member && $member[mb_id] != '아이디' && !in_array($_SERVER['REMOTE_ADDR'], $BLOCK_IP)) || (!$is_member && !in_array($_SERVER['REMOTE_ADDR'], $BLOCK_IP))) {
?>
내용나오는부분
<? } ?>
댓글 전체
아래 조건문은 "회원이어야 하고" "mb_id는 ***가 아니어야 하고" "차단아이피에 속하지 않.아.야. 한다"로 설정한 겁니다.
if($is_member && $member[mb_id] != "아이디" && !is_block_ip($_SERVER[REMOTE_ADDR], $BLOCK_IP))
함수정의는
function is_block_ip($ip, $block_ip) {
foreach($block_ip as $blocked) {
if(strstr($ip, $blocked)) return 1;
}
return 0;
}
if($is_member && $member[mb_id] != "아이디" && !is_block_ip($_SERVER[REMOTE_ADDR], $BLOCK_IP))
함수정의는
function is_block_ip($ip, $block_ip) {
foreach($block_ip as $blocked) {
if(strstr($ip, $blocked)) return 1;
}
return 0;
}
해당아이피는 되는데 아이피대역은 안되네요..
블락은 이렇게 했습니다.
<?
$BLOCK_IP = array();
$BLOCK_IP[] = '000.000.000.';
function is_block_ip($ip, $block_ip) {
foreach($block_ip as $blocked) {
if(strstr($ip, $blocked)) return 1;
}
return 0;
}
?>
블락은 이렇게 했습니다.
<?
$BLOCK_IP = array();
$BLOCK_IP[] = '000.000.000.';
function is_block_ip($ip, $block_ip) {
foreach($block_ip as $blocked) {
if(strstr($ip, $blocked)) return 1;
}
return 0;
}
?>
조건문도 보여주세요. 위 코드로는 배열 하나와 함수 하나만 선언하고 아무 일도 일어나지 않을 것입니다.
그리고 그누보드 자체의 ip 차단기능은 이용하면 안되는 건가요? 혹시 모르셨다면 기본환경설정에 있습니다..
<?
$BLOCK_IP = array();
$BLOCK_IP[] = '000.000.000.';
function is_block_ip($ip, $block_ip) {
foreach($block_ip as $blocked) {
if(strstr($ip, $blocked)) return 1;
}
return 0;
}
?>
<? if(($is_member && $member[mb_id] != 'wpfh' && !in_array($_SERVER['REMOTE_ADDR'], $BLOCK_IP)) || (!$is_member && !in_array($_SERVER['REMOTE_ADDR'], $BLOCK_IP))) { ?>
해당내용
<? } ?>
이렇게 했는데요
회원또는 비회원일경우 특정아이디또는 특정아이피와 특정아이피대역은 해당 내용을 볼수없게..
이런식인데 말씀해주신데로 조건문을
if($is_member && $member[mb_id] != "아이디" && !is_block_ip($_SERVER[REMOTE_ADDR], $BLOCK_IP))
이렇게 하니 아무런 변화가 없어서요..
$BLOCK_IP = array();
$BLOCK_IP[] = '000.000.000.';
function is_block_ip($ip, $block_ip) {
foreach($block_ip as $blocked) {
if(strstr($ip, $blocked)) return 1;
}
return 0;
}
?>
<? if(($is_member && $member[mb_id] != 'wpfh' && !in_array($_SERVER['REMOTE_ADDR'], $BLOCK_IP)) || (!$is_member && !in_array($_SERVER['REMOTE_ADDR'], $BLOCK_IP))) { ?>
해당내용
<? } ?>
이렇게 했는데요
회원또는 비회원일경우 특정아이디또는 특정아이피와 특정아이피대역은 해당 내용을 볼수없게..
이런식인데 말씀해주신데로 조건문을
if($is_member && $member[mb_id] != "아이디" && !is_block_ip($_SERVER[REMOTE_ADDR], $BLOCK_IP))
이렇게 하니 아무런 변화가 없어서요..
위에 함수로는 한가지 전제조건이 있습니다.
그 전제조건은 바로 strstr 함수는 비교 함수입니다. 이것을 먼저 잊지 말아 주시길 빕니다.
그러므로 $BLOCK_IP[] = '000.000.000.'; 이 부분에서 만약 예를 192.168.1. 대역을 막고 싶다고 하시면
$BLOCK_IP[] = '192.168.1.' 을 입력하셔야 합니다.
아마 저의 생각으로는 $BLOCK_IP[] = '192.168.001.' 이런식으로 입력을 하신것 같습니다.
위와 같이 입력을 하셨다면 아이피 앞의 0 을 제거 후 다시 해보시기 바랍니다. 그리고 끝에 콤마(.)를 해주시는 것이 나중을 위해서 올바른 방법이라고 생각되어 집니다.
좋은 하루 되세요.
그 전제조건은 바로 strstr 함수는 비교 함수입니다. 이것을 먼저 잊지 말아 주시길 빕니다.
그러므로 $BLOCK_IP[] = '000.000.000.'; 이 부분에서 만약 예를 192.168.1. 대역을 막고 싶다고 하시면
$BLOCK_IP[] = '192.168.1.' 을 입력하셔야 합니다.
아마 저의 생각으로는 $BLOCK_IP[] = '192.168.001.' 이런식으로 입력을 하신것 같습니다.
위와 같이 입력을 하셨다면 아이피 앞의 0 을 제거 후 다시 해보시기 바랍니다. 그리고 끝에 콤마(.)를 해주시는 것이 나중을 위해서 올바른 방법이라고 생각되어 집니다.
좋은 하루 되세요.
아이피대역은 이렇게 했는데요?
아무작동을 안하네요?
$BLOCK_IP[] = '121.161.52.';
아무작동을 안하네요?
$BLOCK_IP[] = '121.161.52.';
혹시 네이트온 아이디 있으시면 쪽지로 알려주시거나 쪽지로 알려드린 저의 네이트온을 추가하면 점심시간후에 작업을 봐드릴수 있습니다. ^^
휴전합시다 님께서 원격으로 해결해주셨네여
다시한번 감사드립니다.
다시한번 감사드립니다.