PHP 한국아이피만 사이트 들어갈수있게 하는방법
페이지 정보
본문
geoip 다운로드를 받아서 db에 입력한 뒤 한국 ip만 통과시키고 나머지는 차단하시면 됩니다.
db에 전체다 입력하지 말고 한국 ip만 골라서 입력하세요~
전체 다 입력하면 사이즈도 늘어나고 하니 꼭 필요한 경우가 아니면 원하시는 내용처럼 한국 ip대역만 입력시켜두시면 됩니다.
GeoIP
http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip
<?php
function ipaddress_to_uint32($ip)
{
list($v4,$v3,$v2,$v1) = explode(".", $ip);
return ($v4*256 *256*256) + ($v3*256*256) + ($v2*256) + ($v1);
}
$ip='34.23.13.43';
$i = ipaddress_to_uint32($ip);
$db = mysql_connect('mysql_host', 'mysql_user', 'mysql_password') or die(mysql_error());
mysql_select_db('my_db', $db) or die(mysql_error());
$query = "select * from `geoip` where ip32_start<= $i and $i <=ip32_end;";
$result = mysql_query($query);
if ($row = mysql_fetch_assoc($result))
{
echo $row['country'];
}
?>
자료인용
http://sir.co.kr/bbs/board.php?bo_table=pg_etc&wr_id=12457
db에 전체다 입력하지 말고 한국 ip만 골라서 입력하세요~
전체 다 입력하면 사이즈도 늘어나고 하니 꼭 필요한 경우가 아니면 원하시는 내용처럼 한국 ip대역만 입력시켜두시면 됩니다.
GeoIP
http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip
<?php
function ipaddress_to_uint32($ip)
{
list($v4,$v3,$v2,$v1) = explode(".", $ip);
return ($v4*256 *256*256) + ($v3*256*256) + ($v2*256) + ($v1);
}
$ip='34.23.13.43';
$i = ipaddress_to_uint32($ip);
$db = mysql_connect('mysql_host', 'mysql_user', 'mysql_password') or die(mysql_error());
mysql_select_db('my_db', $db) or die(mysql_error());
$query = "select * from `geoip` where ip32_start<= $i and $i <=ip32_end;";
$result = mysql_query($query);
if ($row = mysql_fetch_assoc($result))
{
echo $row['country'];
}
?>
자료인용
댓글목록
등록된 댓글이 없습니다.