들레아빠

CloudFlare와 IP차단

· 2023-02-08 (수) 10:19:07 · 4746 · 3

만약 extend에서
[code]
$geo_info = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
if ( !in_array($geo_info['geoplugin_countryCode'], ['KR']) ) { //['','','']
    http_response_code(403);exit();
}
[/code]
이렇게 한국 외 모두 차단을 하면 접속이 안될 때
common.php 상단에 아래 내용을 추가하면 됩니다.
[code]
class FixCloudFlare{
    public static $cf_ip_ranges = array('103.21.244.0/22','103.22.200.0/22','103.31.4.0/22','104.16.0.0/13','104.24.0.0/14','108.162.192.0/18','131.0.72.0/22','141.101.64.0/18','162.158.0.0/15','172.64.0.0/13','173.245.48.0/20','188.114.96.0/20','190.93.240.0/20','197.234.240.0/22','198.41.128.0/17','199.27.128.0/21');
    public static function fixVisitorInfo(){
        foreach (self::$cf_ip_ranges as $range){
            if (self::inRange($_SERVER['REMOTE_ADDR'], $range)){
                if(isset($_SERVER['HTTP_CF_CONNECTING_IP']))$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_CF_CONNECTING_IP'];
                if(strpos($_SERVER['HTTP_CF_VISITOR'], 'https') !== false)$_SERVER['HTTPS'] = 'on';
                return true;
            }
        }
        return false;
    }
    public static function inRange($ip, $range){
        list($range, $netmask) = explode('/', $range);
        $ip = ip2long($ip) & (0xffffffff << (32 - $netmask));
        $range = ip2long($range) & (0xffffffff << (32 - $netmask));
        return $ip == $range;
    }
}
FixCloudFlare::fixVisitorInfo();
[/code]

|

댓글 3개

2023-03-23 (목) 21:05:17
찾고 있었는데, 감사합니다. ^^
@민트다이어리 찾고 있었다니 반갑습니다.
2023-03-24 (금) 11:59:24
@들레아빠 어제부터 오전까지 잘 되었는데, 오후부터 제 아이피도 차단되어 버리네요. ㅠ..ㅠ CloudFlare 문제는 아닌것 같은데 다른 방법을 찾아봐야 겠습니다. ^^
댓글을 작성하시려면 로그인이 필요합니다.

그누보드5 팁자료실

2,788건
+
제목 글쓴이 날짜 조회
23-03-16 조회 4,578
23-03-16 조회 5,195
23-03-11 조회 5,400
23-03-09 조회 4,755
23-03-08 조회 5,131
23-03-07 조회 4,944
23-03-06 조회 5,556
23-03-05 조회 4,716
23-03-03 조회 6,391
23-03-02 조회 5,620
23-03-02 조회 4,552
23-03-01 조회 4,268
23-02-20 조회 4,595
23-02-16 조회 5,227
23-02-16 조회 4,535
23-02-11 조회 4,907
23-02-10 조회 5,374
23-02-08 조회 4,747
23-02-06 조회 5,094
23-02-05 조회 5,146
23-02-02 조회 6,454
23-02-02 조회 5,927
23-02-02 조회 4,212
23-02-02 조회 4,720
23-02-02 조회 5,059
23-02-01 조회 5,124
23-01-30 조회 4,820
23-01-27 조회 5,106
23-01-27 조회 6,300
23-01-25 조회 5,592