📄 whois.php
字号:
}
// .jp does not allow 1 and 2 character domain names
if ($domt==".jp")
{
if (strlen($dom)<=2)
return(0);
}
// generic string of allowed characters
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-";
if ($domt==".no")
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-".chr(225).chr(224).chr(226).chr(231).chr(233).chr(232).chr(234).chr(241).chr(243).chr(242).chr(244).chr(246).chr(252).chr(248).chr(229).chr(230);
if ($domt==".dk")
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-".chr(248).chr(229).chr(230);
if ($domt==".se")
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-".chr(228).chr(229).chr(246).chr(233).chr(252);
if (($domt==".ch") || ($domt==".li") || ($domt==".de") || ($domt==".at") || ($domt==".com") || ($domt==".net"))
{
$validmask="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-";
for ($k=224;$k<=246;$k++)
$validmask=$validmask.chr($k);
for ($k=248;$k<=255;$k++)
$validmask=$validmask.chr($k);
}
if (strspn($dom, $validmask) != strlen($dom))
return(0);
if (($dom[0]=="-") || ($dom[strlen($dom)-1]=="-"))
return(0);
return(1);
}
function accentstrtolower($s)
{
for ($k=0;$k<strlen($s);$k++)
{
$c=ord($s[$k]);
if (($c>=65) && ($c<=90))
$c=$c+32;
if (($c>=192) && ($c<=214))
$c=$c+32;
if (($c>=216) && ($c<=222))
$c=$c+32;
$s[$k]=chr($c);
}
return($s);
}
function sendToHost($host,$method,$path,$data,&$buf,$useragent=0)
{
// Supply a default method of GET if the one passed was empty
if (empty($method))
$method = 'GET';
$method = strtoupper($method);
$fp = fsockopen($host,80);
if ($method == 'GET')
$path .= '?' . $data;
fputs($fp, "$method $path HTTP/1.1\n");
fputs($fp, "Host: $host\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: " . strlen($data) . "\n");
if ($useragent)
fputs($fp, "User-Agent: MSIE\n");
fputs($fp, "Connection: close\n\n");
if ($method == 'POST')
fputs($fp, $data);
while (!feof($fp))
$buf[]=fgets($fp,128);
fclose($fp);
return $buf;
}
function sendToHost2($host,$method,$path,$data,&$buf,$useragent=0)
{
// Reads webpage in one big buffer
// Supply a default method of GET if the one passed was empty
if (empty($method))
$method = 'GET';
$method = strtoupper($method);
$fp = fsockopen($host,80);
if ($method == 'GET')
$path .= '?' . $data;
fputs($fp, "$method $path HTTP/1.1\n");
fputs($fp, "Host: $host\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: " . strlen($data) . "\n");
if ($useragent)
fputs($fp, "User-Agent: MSIE\n");
fputs($fp, "Connection: close\n\n");
if ($method == 'POST')
fputs($fp, $data);
$buf=fread($fp,100000);
fclose($fp);
return $buf;
}
function sawhois($dom,$domt,&$regdet)
{
$regdet="";
if (!($fh=@fopen("http://www.saudinic.net.sa/cgi-bin/whois.cgi?Domain=".$dom."&Level=".$domt,"r")))
return(5);
$buf="";
while (!feof($fh))
$buf[]=fgets($fh,128);
fclose($fh);
$fnd=0;
for ($k=0;$k<count($buf);$k++)
{
$buf[$k]=strip_tags($buf[$k]);
$buf[$k]=trim($buf[$k]);
$pos=strpos($buf[$k],$dom.$domt);
$pos2=strpos($buf[$k],"@saudinic.net.sa");
if ((is_integer($pos)) && (is_integer($pos2)==False))
$fnd=1;
if ($fnd==1)
$regdet[]=$buf[$k];
}
$available=0;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne,"not registered");
if (is_integer($pos))
{
$available=1;
}
}
if ($available==1)
return(0); // Domain is not registered
return(1);
}
function eswhois($dom,$domt,&$regdet)
{
$regdet="";
if (!($fh=@fopen("http://ineco.nic.es/cgi-bin/consulta.whois?list=Dominios&key=".$dom.$domt."&tipo=procesar","r")))
return(5);
$buf="";
$buf=fread($fh,100000);
fclose($fh);
$buf=eregi_replace("</tr>","\n",$buf);
$buf=strip_tags($buf);
$buf2=explode("\n",$buf);
$blankflag=0;
for ($k=0;$k<count($buf2);$k++)
{
$buf2[$k]=trim($buf2[$k]);
if (($buf2[$k]!="") && (strlen($buf2[$k])>1))
{
$blankflag=0;
$regdet[]=$buf2[$k];
}
if (($buf2[$k]=="") && ($blankflag==0))
{
$blankflag=1;
$regdet[]=$buf2[$k];
}
}
$available=0;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne,"encontrado");
if (is_integer($pos))
{
$available=1;
}
}
if ($available==1)
return(0); // Domain is not registered
return(1);
}
function fmwhois($dom,$domt,&$regdet)
{
$regdet="";
if (!($fh=@fopen("http://www.dot.fm/whois.cfm?domain=".$dom.$domt,"r")))
return(5);
$buf="";
$buf=fread($fh,100000);
fclose($fh);
$buf=strip_tags($buf);
$buf2=explode("\n",$buf);
$blankflag=0;
for ($k=0;$k<count($buf2);$k++)
{
$buf2[$k]=trim($buf2[$k]);
if (($buf2[$k]!="") && (strlen($buf2[$k])>1))
{
$blankflag=0;
$regdet[]=$buf2[$k];
}
if (($buf2[$k]=="") && ($blankflag==0))
{
$blankflag=1;
$regdet[]=$buf2[$k];
}
}
$available=0;
$premium="";
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne,"no match");
if (is_integer($pos))
{
$available=1;
}
$pos=strpos($lne,"1st year registration:");
if (is_integer($pos))
{
$premium=substr($lne,$pos+24,strlen($lne)-$pos-24);
}
}
if ($premium!="")
{
$premium=sprintf("%01.2f",$premium);
$regdet[]=$premium;
return(6); // Return available at premium
}
if ($available==1)
return(0); // Domain is not registered
return(1);
}
function tvwhois($dom,$domt,&$regdet)
{
$regdet="";
// if (!($fh=@fopen("http://www.tv/en-def-5e58a43774d2/cgi-bin/multilookup.cgi?domain=".$dom."&tv=1","r")))
if (!($fh=@fopen("http://www.tv/en-def-1b7db09f553d/cgi-bin/multilookup.cgi?domain=".$dom."&tld=tv&x=25&y=5","r")))
{
return(5);
}
$buf="";
do
{
$buf1 = fread($fh, 100000);
if (strlen($buf1) == 0)
{
break;
}
$buf .= $buf1;
}
while (true);
fclose($fh);
$buf=strip_tags($buf);
$pos=strpos($buf,$dom.$domt." is not available");
if (is_integer($pos))
{
$regdet[]=$dom.$domt." is not available";
$regdet[]="Full whois for ".$domt." domains not available";
return(1);
}
$pos=strpos($buf,$dom.$domt." is available");
if (is_integer($pos))
{
$regdet[]=$dom.$domt." is available";
return(0);
}
$pos=strpos($buf,$dom.$domt." is an available premium name");
if (is_integer($pos))
{
$regdet[]=$dom.$domt." is an available premium name";
$pos=strpos($buf,"$",$pos);
$pos2=strpos($buf," ",$pos);
$premium=substr($buf,$pos+1,$pos2-$pos-1);
$premium=eregi_replace(",","",$premium);
$premium=sprintf("%01.2f",$premium);
$regdet[]=$premium;
return(6);
}
return(1);
}
function djwhois($dom,$domt,&$regdet)
{
$regdet="";
sendToHost('www.dj-domains.com','post','/chk/index.php','domain_name='.$dom,$buf);
if (count($buf)==0)
return(5); // No connection to whois server made
$available=0;
$premium=0;
for ($k=0;$k<count($buf);$k++)
{
$pos=strpos(strtolower($buf[$k]),"domain is available");
if (is_integer($pos))
$available=1;
// See if premium domain
$pos=strpos(strtolower($buf[$k]),"this is a \"premium\" domain name");
if (is_integer($pos))
$premium=1;
// Get premium price
$pos=strpos(strtolower($buf[$k]),"dname=".$dom."&price=");
if (is_integer($pos))
{
$pos2=strpos(strtolower($buf[$k]),",",$pos);
$price=substr($buf[$k],$pos+strlen("dname=".$dom."&price="),$pos2-$pos-strlen("dname=".$dom."&price=")+3);
$price=strtr($price,",",".");
}
}
// If whois not contactable
if (($premium==1) && ($available==1))
{
$regdet[]="Domain is available at a premium. Price in Euro's is ".$price;
$regdet[]=$price;
return(6);
}
if ($available==1)
{
$regdet[]=$dom.".dj is available";
return(0);
}
if (($available==0) && ($regdet!="*"))
{
sendToHost2('www.dj-domains.com','post','/whois/index.php','whoisdname='.$dom."&action=chk_whois",$buf);
$buf=eregi_replace("<br>","\n",$buf);
$buf=strip_tags($buf);
$buf2=explode("\n",$buf);
$start=0;
$finish=0;
for ($k=0;$k<count($buf2);$k++)
{
if (($start==1) && (trim($buf2[$k])!=""))
$regdet[]=$buf2[$k];
$pos=strpos(strtolower($buf2[$k]),"result:");
if (is_integer($pos))
$start=1;
$pos=strpos(strtolower($buf2[$k]),"name server:");
if (is_integer($pos))
$finish=1;
if (($finish==1) && (trim($buf2[$k])==""))
break;
}
}
return(1);
}
function bewhois($dom,$domt,&$regdet)
{
if ($regdet=="*")
{
$regdet="";
$connection=@fsockopen("whois.dns.be",4343,$errorno,$errordesc);
if ($connection)
{
fputs($connection,"GET 1.0 $dom\r\n");
while(!feof($connection))
{
$regdet[]=fgets($connection,255);
}
fclose($connection);
if (count($regdet)<2)
return(5);
$registered=1;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
$pos=strpos($lne," free");
if (is_integer($pos))
{
$registered=0;
break;
}
}
return($registered);
}
else
return(5);
}
else
{
$regdet="";
$connection=@fsockopen("whois.dns.be",43,$errorno,$errordesc);
if ($connection)
{
fputs($connection,$dom.$domt."\r\n");
while(!feof($connection))
{
$regdet[]=fgets($connection,255);
}
fclose($connection);
if (count($regdet)<2)
return(5);
$registered=1;
for($index=0;$index<count($regdet);$index++)
{
$lne=strtolower($regdet[$index]);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -