기본 IPwhois类
<?php
/*
*
* 클래스 : IP Whois 버전 1.0
* 정보 : 4 whois 서버에서 IP 정보를 가져옵니다.
* 작성자 : PhpUp Studio
* 날짜 : 2004년 12월 12일
* www.knowsky.com
*
*/
클래스 IPWhois
{
var $server = 'whois.arin.net';
var $대상;
var $timeout = 10;
var $msg;
함수 IPWhois($target)
{
$this->target = $target;
}
함수 표시정보()
{
if($this->_CheckIP($this->대상))
{
$this->msg = $this->_GetInfo($this->서버);
if($this->_CheckInfo($this->msg))
{
$this->msg = $this->_GetInfo($this->서버);
}
}
else $this->msg = '<p>IP 주소를 입력하세요<br></p>';
$this->msg를 반환합니다.
}
함수 _CheckIP($temptarget)
{
if(eregi("[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}", $임시대상))
{
$f = 1;
$detail = 폭발(".",$temptarget);
foreach($detail을 $v로)
{
if($v > 255 || $v < 0)
{
$f = 0;
부서지다;
}
}
}
그렇지 않으면 $f =0;
$f를 반환합니다;
}
함수 _GetInfo($tempserver)
{
$this->msg = '';
if(!$sock = fsockopen($tempserver, 43, $num, $error, $this->timeout))
{
설정되지 않음($sock);
$this->msg = "$tempserver(포트 43) 연결 시간이 초과되었습니다";
}
또 다른
{
fputs($sock, "$this->대상n");
$this->msg .= "<p><b>".$this->대상에 대한 IP Whois 정보."</b><br><br>";
$this->msg .= "------------------------------- ----------<BR>";
동안 (!feof($sock))
$this->msg .= fgets($sock, 10240);
$this->msg .= "------------------------------- ----------<BR></p>";
}
fclose($sock);
nl2br($this->msg)를 반환합니다.
}
함수 _CheckInfo($tempmsg)
{
if(eregi("whois.ripe.net", $tempmsg))
{
$this->서버 = "whois.ripe.net";
1을 반환합니다.
}
elseif(eregi("whois.apnic.net", $tempmsg))
{
$this->서버 = "whois.apnic.net";
1을 반환합니다.
}
elseif(eregi("whois.lacnic.net", $tempmsg))
{
$this->서버 = "whois.lacnic.net";
1을 반환합니다.
}
그렇지 않으면 0을 반환합니다.
}
}
?>
사용
<?php
include './class.php';
$target = isset($_GET['ip'])?gethostbyname($_GET['ip']):'NULL';
if('NULL' == $target || '' == $target)$result = '<p>IP 주소를 입력하세요<br></p>';
또 다른
{
$whois = 새로운 IPWhois($target);
//$result = "<b>".$_POST['ip']에 대한 IP Whois 정보."</b><br><br>";
$result = $whois->ShowInfo();
}
에코 $결과;
?>