Home > Backend Development > PHP Tutorial > PHP website same IP query code_PHP tutorial

PHP website same IP query code_PHP tutorial

WBOY
Release: 2016-07-20 11:06:31
Original
917 people have browsed it

This source code is a PHP website with IP query code. If you like it, come in and have a look.

if(function_exists('date_default_timezone_set')){
date_default_timezone_set('Asia/Shanghai'); //Set the time zone
}
define("APP_ROOT", dirname(dirname(__FILE__))); //Website root directory

function visitorIP(){ //Visitor IP
if($_SERVER['HTTP_X_FORWARDED_FOR']){
$ipa = $_SERVER['HTTP_X_FORWARDED_FOR'];
}elseif($_SERVER['HTTP_CLIENT_IP']){
$ipa = $_SERVER['HTTP_CLIENT_IP'];
}else{
$ipa = $ _SERVER['REMOTE_ADDR'];
}
return $ipa;
}

function cleanDomain($q,$w=0){ //Organize domain name $w=1 filter www .Prefix $w=0 does not filter
$q = htmlspecialchars(strtolower(trim($q)));
if(substr($q,0,7) == "http://" || substr($q,0,8) == "https://" || substr($q,0,6) == "ftp://"){
$q = str_replace("http:/ ","",$q);
$q = str_replace("https://","",$q);
$q = str_replace("ftp://","",$q) ;
}
if(substr($q,0,4) == "www." && $w==1) {
$q = str_replace("www.","",$ q);
}
$q = trim($q,"/");
return $q;
}

//获取网页
class HTTPRequest
{
/*
获取网页
*/
   var $_fp;        // HTTP socket
   var $_url;        // full URL
   var $_host;        // HTTP host
   var $_protocol;    // protocol (HTTP/HTTPS)
   var $_uri;        // request URI
   var $_port;        // port
  
   // scan url
   function _scan_url()
   {
       $req = $this->_url;
      
       $pos = strpos($req, '://');
       $this->_protocol = strtolower(substr($req, 0, $pos));
      
       $req = substr($req, $pos+3);
       $pos = strpos($req, '/');
       if($pos === false)
           $pos = strlen($req);
       $host = substr($req, 0, $pos);
      
       if(strpos($host, ':') !== false)
       {
           list($this->_host, $this->_port) = explode(':', $host);
       }
       else
       {
           $this->_host = $host;
           $this->_port = ($this->_protocol == 'https') ? 443 : 80;
       }
      
       $this->_uri = substr($req, $pos);
       if($this->_uri == '')
           $this->_uri = '/';
   }
  
   // constructor
   function HTTPRequest($url)
   {
       $this->_url = $url;
       $this->_scan_url();
   }
  
   // download URL to string
   function DownloadToString()
   {
       $crlf = "rn";
       $response="";
       // generate request
       $req = 'GET ' . $this->_uri . ' HTTP/1.0' . $crlf
           .    'Host: ' . $this->_host . $crlf
           .    $crlf;
      
       // fetch
       $this->_fp = @fsockopen(($this->_protocol == 'https' ? 'ssl://' : '') . $this->_host, $this->_port);
       @fwrite($this->_fp, $req);
       while(is_resource($this->_fp) && $this->_fp && !feof($this->_fp))
           $response .= fread($this->_fp, 1024);
       @fclose($this->_fp);
      
       // split header and body
       $pos = strpos($response, $crlf . $crlf);
       if($pos === false)
           return($response);
       $header = substr($response, 0, $pos);
       $body = substr($response, $pos + 2 * strlen($crlf));
      
       // parse headers
       $headers = array();
       $lines = explode($crlf, $header);
       foreach($lines as $line)
           if(($pos = strpos($line, ':')) !== false)
               $headers[strtolower(trim(substr($line, 0, $pos)))] = trim(substr($line, $pos+1));
      
       // redirection?
       if(isset($headers['location']))
       {
           $http = new HTTPRequest($headers['location']);
           return($http->DownloadToString($http));
       }
       else
       {
           return($body);
       }
   }
}

function get_html($siteurl) {
 //将网页代码存入字符串
 $r=new HTTPRequest($siteurl);
 $htm=$r->DownloadToString();
 return $htm;
}

$visitorip = visitorIP();

$q = cleanDomain($_POST['q']);
$q_encode = urlencode($q);

$title = "同IP站点查询";

$chaxun_status = 0; //查询状态 -1是没有查询参数,0是查询出错,1是查域名,2是查IP

if(isset($_GET['action']) && trim($_GET['action']) == "do"){ //AJAX调出数据
 $ipArr = ReverseIP($q);
 if(count($ipArr)>0){
  echo '

在此IP找到了'.count($ipArr).'个域名,见下:

';
  echo '
';
}else{
echo '

No domain name record corresponding to IP '.$ip.' found!

';
}
die();
}

function IpToInt($Ip){ //IP converted to number
$array=explode(' .',$Ip);
$Int=($array[0] * 256*256*256) + ($array[1]*256*256) + ($array[2]*256) + $ array[3];
return $Int;
}

function ReverseIP($q){
$htm = get_html('http://www.ip-adress.com/ reverse_ip/'.$q);
preg_match_all('/Whois/', $htm, $tt);
$ res = $tt[1];
return $res;
}

if(preg_match("/[a-zA-Z-_]+/si",$q)){ //If the query is a domain name
$ip = gethostbyname($q);
if($ip == $q){
$ip = $visitorip;
$chaxun_status = -1;
}else{
$chaxun_status = 1;
}
}elseif(ereg("^[0-9]{1,3}.[0-9]{1,3}. [0-9]{1,3}.[0-9]{1,3}$",$q)){ //If the query is IP
$ip = $q;
$chaxun_status = 2;
}else{
$ip = $visitorip;
}
?>



Same IP Site query

0){ ?>






 
 
站长工具 > 同IP站点查询收藏本页









同IP站点查询





IP地址或域名



输入域名或者IP地址,查询同一IP地址的服务器上有哪些网站。








if($chaxun_status==1){
echo ''.$title.' > 域名: '.$q;
 }elseif($chaxun_status==2){
  echo ''.$title.' > IP: '.$ip;
 }else{
  echo $title;
 }
?>



if(!$q){
$ipq = '您的IP地址是:'.$ip.'';
 }elseif($chaxun_status == 0){
  $ipq = '出错啦!没有找到与 '.$q.' 匹配的结果,请确定IP/域名的格式是否写对!

你的IP地址是:'.$ip;
 }elseif($chaxun_status==1){
  $ipq = '你查询的域名 '.$q.'

域名的IP: '.$ip.'';
 }else{
  $ipq = "你查询的IP:".$ip;
 }
 echo $ipq;
 ?>

0){ ?>
 
<script>startRequest();</script>


Related queries: Alexa query | Domain name registration query | Whois query | IP address Query | PR Query | Weather Forecast Query< ;/A> | Imitate spider | Friendly link query





< /div>
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template