Skip to content

**** ****

for my bad memories..

PHP 에서 특정 국가만 허용하기


tcltk.co.kr 에서 drupal 을 사용중인데..
자꾸 스팸 글과 스팸 유저 때문에 골머리를 썩어서.. 시간좀 내서 알아봤음.

IP2Location (https://github.com/chrislim2888/IP2Location-PHP-Module)이라는 php 모듈이 있는걸 찾았고..
아래와 같이 druapl index.php 에 적용.

우선 IP2Location 폴더를 적절히 만들고 파일을 업로드하고 아래와 같이 한국 국가만 접근 가능토록 코드를 작성.

include DRUPAL_ROOT . '/IP2Location/Database.php';
include DRUPAL_ROOT . '/IP2Location/IpTools.php';
include DRUPAL_ROOT . '/IP2Location/WebService.php';

$db = new \IP2Location\Database(DRUPAL_ROOT . '/IP2Location/IP2LOCATION-LITE-DB1.BIN', \IP2Location\Database::FILE_IO);
$records = $db->lookup($_SERVER['REMOTE_ADDR'], \IP2Location\Database::ALL);

$countryCode = $records['countryCode'];
//echo $records['countryName'] . "- (".$records['countryCode'].")";

if($countryCode != 'KR') {
	echo 'You are connected from ' . $records['countryName'] . '.</br>';
	echo 'Only Korea(Republic of) country is allowed.';
	exit;
}

적용후 vpn 으로 접속하면..

흐흐.. 일단 잘됨. 이제 골머리는 썩지 않겠지?..
근데 이게 좋은 선택일까..


Categorized as: Programming



답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다


이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.