채택완료

아이피 대역

2020-07-27 (월) 10:18:53 3,546

if ( $_SERVER['REMOTE_ADDR'] != '111.111.11.111' ) {

이렇게하면 111.111.11.111 아이피만 적용이되는데요

이걸 111.111.11.* 이렇게 대역폭으로 적용하게 하려면 어떡해해야하나요?

알려주시면 감사하겠습니다

답변 3개 / 댓글 1개

채택된 답변
+20 포인트
2020-07-27 (월) 10:39:47
Copy
if ( substr($_SERVER['REMOTE_ADDR'], 0, 11)!=='111.111.11.' ) {
    // ...
}

// 또는

if ( !preg_match('/^111\.111\.11\./', $_SERVER['REMOTE_ADDR']) ) {
    // ...
}

// 기타 여러 방법이 있으나 생략합니다.
2020-07-27 (월) 10:29:01

음.. 그럼

<?php
$ipdb = array("111\.111\.11\.");  // 차단 IP
$ip = $_SERVER['REMOTE_ADDR'];  // 사용자 IP

for ($i = 0; $i < count($ipdb); $i++) {
    if ( preg_match("/^".$ipdb[$i]."/", $ip) ) {
        die (stripslashes($ipdb[$i])." - 차단된 아이피 입니다.");
    }
}

이렇게 해보세요.

2020-07-27 (월) 10:20:55

안녕하세요. 다양한 해결방법이 있겠지만서도.

간단한 정규식으로 하시면 됩니다.

if (  preg_match("/111.111.11./i", $_SERVER['REMOTE_ADDR'] ) ) {

}

답변에 대한 댓글 1개

알려주신방법대로 했는데 안되네요...ㅠㅠ 혹시 다른방법이있을까요?

답변을 작성하려면 로그인이 필요합니다.