특정국가 차단하기 > 그누보드5 팁자료실

그누보드5 팁자료실

특정국가 차단하기 정보

특정국가 차단하기

본문


    function blockNonUS($is_guest){
        if ($is_guest) {
            // 미국 아니면 모두 아이피 차단되게
            $detail = json_decode(file_get_contents("http://ipinfo.io"));
            if($detail->country !== "US") {
                http_response_code(403);
                exit();
            }
        }        
    }
 
    blockNonUS($is_guest);

 

** user.extend.php 안에다 넣는게 제일 좋아요.

추천
0
  • 복사

댓글 9개


1. PHP 는 ServerSide Code 이기 때문에, 위의 경우 무조건 서버의 IP 만 찍힙니다.
$detail-> ip 를 확인해보세요. 항상 서버의 IP 일겁니다.

2. 공개 무료 서비스는 언제든 중단될 수 있습니다.
특히 단일IP로 다량의 요청이 발생될 경우 차단될 수 있습니다.

--
서버에서 apt install php-geoip  하신다음에
$_SERVER['GEOIP_COUNTRY_CODE'] 를 살펴보는 방법을 추천합니다.
이거 무언가 이상한가 봤더니 Accept  application/json 안 달면 웹싸이트가 호출되네요. 거기다 상대방 IP 어디로 보내지..
© SIRSOFT
현재 페이지 제일 처음으로