php 网站同IP查询代码

<?php
if(function_exists('date_default_timezone_set')){
 date_default_timezone_set('Asia/Shanghai'); //设定时区
}
define("APP_ROOT",dirname(dirname(__FILE__))); //网站根目录

function visitorIP(){ //访问者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){ //整理域名 $w=1过滤www.前缀 $w=0不过滤
 $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 '<p class="f14">在此IP找到了'.count($ipArr).'个域名,见下:</p>';
  echo '<ul class="lst">';
  for($i=0;$i<count($ipArr);$i++){
   echo '<li><a href="http://'.$ipArr[$i].'/" title="访问 '.$ipArr[$i].'" target="_blank" class="f14 l200">'.$ipArr[$i].'</a></li>';
  }
  echo '</ul><div class="cboth"></div>';
 }else{
  echo '<p class="f14">没有找到IP '.$ip.' 对应的域名记录!</p>';
 }
 die();
}

function IpToInt($Ip){ //IP转为数字
    $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('/<a href="/whois/(.*)">Whois</a>/', $htm, $tt);
 $res = $tt[1];
 return $res;
}

if(preg_match("/[a-zA-Z-_]+/si",$q)){ //如果查询的是域名
 $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)){ //如果查询的是IP
 $ip = $q;
 $chaxun_status = 2;
}else{
 $ip = $visitorip;
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>同IP站点查询</title>
<style>
*{margin:0;padding:0;}
body{font-size:12px;font-family: Geneva, Arial, Helvetica, sans-serif;}
a img {border:0;}

.red{color:#f00;}
.center{text-align:center;}
p{padding:5px 0 6px 0;word-break:break-all;word-wrap:break-word;}
.f14{font-size:14px;}
a,a:visited{color:#0353ce;}
table {font-size:12px;}
 table th {font-size:12px;font-weight:bold;background-color:#f7f7f7;line-height:200%;padding: 0 5px;}
 table th {font-size:12px;font-weight:bold;background:#EDF7FF;padding: 0 5px;color:#014198;line-height:200%;}
.red{color:red}
.blue{color:blue}
#footer{line-height:150%;text-align:center;color:#9c9c9c;padding: 8px 0;}
 #footer a,#footer a:visited{color:#9c9c9c;}
ul.lst{padding:0;margin:0;width:100%;}
 ul.lst li{list-style-type:none;float:left;padding:0 0 0 12px;line-height:24px;height:24px;overflow:hidden;}
 ul.lst li{width:258px!important;width:270px;}
</style>
<? if($chaxun_status>0){ ?>
<SCRIPT type="text/javascript">
<!--
 var xmlHttp;
 function creatXMLHttpRequest() {
  if(window.ActiveXObject) {
   xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
  } else if(window.XMLHttpRequest) {
   xmlHttp = new XMLHttpRequest();
  }
 }

 function startRequest() {
  var queryString;
  var domain = "<?=$ip?>";
  queryString = "q=" + domain;
  creatXMLHttpRequest();
  xmlHttp.open("POST","./?action=do","true");
  xmlHttp.onreadystatechange = handleStateChange;
  xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");
  xmlHttp.send(queryString);
 }

 function handleStateChange() {
  if(xmlHttp.readyState == 1) {
   document.getElementById('ipresult').style.cssText = "";
   document.getElementById('ipresult').innerHTML = '<span class="green">结果加载中,请稍等...</span>';
  }
  if(xmlHttp.readyState == 4) {
   if(xmlHttp.status == 200) {
    document.getElementById('ipresult').style.cssText = "";
    var allcon =  xmlHttp.responseText;
    document.getElementById('ipresult').innerHTML = allcon;
   }
  }
 }
 
//-->
</SCRIPT>
<? } ?>
</head>

<body>
<div align="center">
<table cellspacing="4" cellpadding="0" style="background-color:#f7f7f7;border-bottom:1px solid #dfdfdf;" width="778">
<tr>
  <td align="left"><a href="/" target="_blank">站长工具</a> &gt; <a href="./" target="_blank">同IP站点查询</a></td>
  <td align="right"><a href="javascript:;" onClick="window.external.AddFavorite(document.location.href,document.title);">收藏本页</a></td></tr></table>
<div id="result"><br />
<table width="700" cellpadding="2" cellspacing="0" style="border:1px solid #B2D0EA;">
<tr>
<th align="left"><a href="./" target="_blank">同IP站点查询</a></th>
</tr>
<tr><td align="center">
<table border="0" cellPadding="0" cellSpacing="1">
<tr><td style="font-size:14px">
<br />
<form action="" method="post" name="f1">IP地址或域名 <input name="q" id="q" type="text" size="18" delay="0" value="<? if($chaxun_status>0) echo $q; ?>" style="width:200px;height:22px;font-size:16px;font-family: Geneva, Arial, Helvetica, sans-serif;" /> <input type="submit" value=" 查询 " /></form>
</td></tr></table><br />
</td></tr>
<tr><td align="center" valign="middle" height="40" style="font-size:12px">输入域名或者IP地址,查询同一IP地址的服务器上有哪些网站。</td></tr>
</table>
<br />
<table width="700" cellpadding=2 cellspacing=0 style="border:1px solid #B2D0EA;">
<tr>
<th align="left"><?
 if($chaxun_status==1){
  echo '<a href="./">'.$title.'</a> &gt; 域名: '.$q;
 }elseif($chaxun_status==2){
  echo '<a href="./">'.$title.'</a> &gt; IP: '.$ip;
 }else{
  echo $title;
 }
?></th>
</tr>
<tr><td align="left">
<div style="padding:20px">
<p class="f14">
<?
 if(!$q){
  $ipq = '您的IP地址是:<span class="blue f14">'.$ip.'</span>';
 }elseif($chaxun_status == 0){
  $ipq = '<b class="red f14">出错啦!</b>没有找到与 <b class="blue f14">'.$q.'</b> 匹配的结果,请确定IP/域名的格式是否写对!</p><p class="f14 blue">你的IP地址是:'.$ip;
 }elseif($chaxun_status==1){
  $ipq = '你查询的域名 <span class="blue f14">'.$q.'</span></p><p class="f14">域名的IP: <span class="blue f14">'.$ip.'</span>';
 }else{
  $ipq = "你查询的IP:".$ip;
 }
 echo $ipq;
 ?></p><? if($chaxun_status>0){ ?>
 <div id="ipresult"></div><script>startRequest();</script>
<? } ?></p><hr style="border-style: dotted;" color="#cccccc" size="1" /><p align="center">相关查询: <A href="../alexa">Alexa查询</A> | <A href="../domain/">域名注册查询</A> | <A href="../whois">Whois查询</A> | <A href="../ip/">IP地址查询</A> | <A href="../pr/pr.php">PR查询</A> | <A href="../weath/">天气预报查询</A> | <A href="../robot">模仿蜘蛛</A> | <A href="/index.php">友情链接查询</A></p>
</div>
</td></tr>
</table><br />
</div>
</div>
<div id="footer">&copy; 2009 <a href="http://tool.111cn.net/">站长工具</a></div>
<div style="display:none;"></div>
</body>
</html>

同IP查询代码下载包

时间: 2024-10-11 10:16:06

php 网站同IP查询代码的相关文章

一个带完整采集小偷功能的IP查询代码

查询|ip地址|采集 一个带完整采集小偷功能的IP查询代码,采集来自IP138.CN的IP地址数据. 以下是代码:<% Response.expires = 0 Response.expiresabsolute = now() - 1 Response.addHeader "pragma","no-cache" Response.addHeader "cache-control","private" Response.c

php下网站防IP攻击代码,超级实用

今天我开发了下面的代码,算是大功初成,一天拦截了15个IP,服务器负载正常. 复制代码 代码如下: <?php //查询禁止IP $ip =$_SERVER['REMOTE_ADDR']; $fileht=".htaccess2"; if(!file_exists($fileht))file_put_contents($fileht,""); $filehtarr=@file($fileht); if(in_array($ip."\r\n"

php下网站防IP攻击代码,超级实用_php技巧

今天我开发了下面的代码,算是大功初成,一天拦截了15个IP,服务器负载正常. 复制代码 代码如下: <?php //查询禁止IP $ip =$_SERVER['REMOTE_ADDR']; $fileht=".htaccess2"; if(!file_exists($fileht))file_put_contents($fileht,""); $filehtarr=@file($fileht); if(in_array($ip."\r\n"

为IP查询添加GOOGLE地图功能的代码_php技巧

1. 在使用google api之前,我们需要先申请一个key,作为唯一的标示加在url后面. 2. google地图api里面有一个可以查询到某个地点的详细信息的地址,例如查询北京的:http://maps.google.com/maps/geo?q=beijing 3. 我们还可以把上面的地址后面加一个参数,让它输出我们想要的数据,例如我们需要csv的数据,那么地址就成了http://maps.google.com/maps/geo?q=beijing&output=csv 4. 这样我们就

怎么快速查询一个网站的IP地址

利用ping命令查询: 在"开始"->"运行"输入cmd然后在弹出框输入 ping www.anzhuo8.net 这样 这样下面的reply from 61.155.149.85就是对方的IP地址了,当然如果有cdn加速的话是找不到真实IP地址了 nslookup查询IP地址的例子. 你是否只是为了一点极客精神,或者是急于想知道这个问题的答案,而点开了这个网页的呢?今天的超级问答文章推送关注了这个答案,并且回答了如何知道多个网站捆绑到同一个IP地址. 今天的

IP地址查询代码

ip地址 IP地址查询的实现方法可能和大家自己的想法不是一样的.大家可以看看一般的实现方法.  ipQueary.jsp <%@page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %><jsp:useBean id="user" scope="page" class="u

win7用查询ip命令代码

  这里有几种方法推荐大家 方法一:在百度搜索"IP"便会直接得出电脑外网的IP地址.   方法二:打开开始菜单,在搜索框内输入"cmd"-在弹出的黑框中输入"ipconfig"回车即可看到自己的ip地址.   方法三:电脑任务栏中打开"网络和共享中心"-"无线网络连接"-然后点击"详细信息"就可以看到电脑详细的ip地址了.   方法四:使用IP查询器搜索 输入IP地址或网址查询地理地址

PHP+MYSQL实例:网站在线人数的程序代码

PHP实例教程:网站在线人数的程序代码,后台有MYSQL数据库支持.可以直接统计出网站当前的在线人数. 首先是创建MYSQL数据库表. 以下为引用的内容:CREATE TABLE tablename (field type(max_length) DEFAULT 'default_value' (NOT) NULL} 可以使用的SQL语句. 以下为引用的内容:CREATE TABLE useronline (timestamp int(15) DEFAULT '0' NOT NULL,ip va

JS 精确统计网站访问量的实例代码

这篇文章介绍了JS精确统计网站访问量的实例代码,有需要的朋友可以参考一下   复制代码 代码如下: /**  * vlstat 浏览器统计脚本  */ var statIdName = "vlstatId"; var xmlHttp; /**  * 设置cookieId  */ function setCookie(c_name, value, expiredays) {     var exdate = new Date();     exdate.setDate(exdate.ge