ใครพอมี สคริป ที่ไว้ให้ลูกค้า check domain ตอนจะจดโดเมนกับเราบ้างครับ

ใครพอมี สคริป ที่ไว้ให้ลูกค้า check domain ตอนจะจดโดเมนกับเราบ้างครับช่วยแนะนำหน่วยครับไม่ใช่ whois นะครับเอาแบบที่พวกพี่ๆใช้ตอนให้ลูกค้า check domain ว่าว่างหรือเปล่าถ้าว่าง ก็คลิกสมัครได้เลยนะครับ( ถ้ามี whois อยู่ข้างๆ โดเมนที่ check ก็จะดีมากเลยครับ)

เป็น reseller ของที่ไหนครับ ใช้ API น่าจะดีกว่าครับ

แต่ถ้าอยากใช้สคริปจริงๆ แนะนำ MWhois

หาได้จาก http://www.hotscripts.com

อ้อ…โหลดจากนี่ก็ได้ครับ http://www.mattsscripts.co.uk/mwhois.htm

:slight_smile:

cheer http://www.mattsscripts.co.uk/mwhois.htm ครับใช้งานได้ดี

ผมเห็นถามคำถามนี้บ่อย เลยอยากให้ข้อคิดหน่อยนะครับ

เอาของเค้ามาใช้ เวลาเค้าติดเครดิตมา ก็อย่าลบออกนะครับ ผมเห็นหลายคนลบเครดิตออก (99% ที่เห็นมา) ทำเหมือนกับว่าตัวเองเขียนเอง

whois.php
<?php
//how to search whois.php?domain=tc20.net

//check null
$domain=trim($domain);
if(($ext!=NULL)||($domain==NULL)){exit();}

//explode domain ext from domain
list($domain,$ext)=explode(".", $domain);

//check syntax
$leng=strlen($domain);
if($leng<2){echo"domain < 2";exit();}else if($leng>63){echo"domain > 63";exit();}
if(@ereg("^-|-$",$domain)){exit();}
if(!@ereg("([a-z]|[A-Z]|[0-9]|-){".strlen($domain)."}",$domain) || !strlen($domain)){exit();}

//check domain
$x=whois($domain,$ext);
if($x==0){echo"ไม่สามารถเชื่อมต่อกับ server ได้";}
else if($x==1){echo"สามารถจดโดเมนได้";}
else if($x==2){echo"มีผู้ใช้โดเมนนี้แล้ว";}

function whois($domain,$ext)
{

//select whois server from ext
if(($ext==‘com’)||($ext==‘net’)){$whoisserver=‘whois.crsnic.net’;$finddata=“No match”;}
else if ($ext==‘info’){$whoisserver=‘whois.afilias.info’;$finddata=“NOT FOUND”;}
else if ($ext==‘biz’){$whoisserver=‘whois.nic.biz’;$finddata=“Not found”;}
else if ($ext==‘org’){$whoisserver=‘whois.publicinterestregistry.net’;$finddata=“NOT FOUND”;$findlimit=“WHOIS LIMIT EXCEEDED”;}
else if ($ext==‘us’){$whoisserver=‘whois.nic.us’;$finddata=“Not found”;}
else if ($ext==‘in’){$whoisserver=‘whois.inregistry.net’;$finddata=“NOT FOUND”;}
else if ($ext==‘cn’){$whoisserver=‘whois.cnnic.net.cn’;$finddata=“no matching record”;}
else{exit();}

//connect to whois server
$domain="$domain.$ext";
$fp = fsockopen("$whoisserver", 43, $errno, $errstr, 30);
if (!$fp){return 0;}else{fputs($fp, “$domain
”);while (!feof($fp)){$whoisdata.= fread($fp,128);}fclose ($fp);}

//find match data
$checklimit=searchmatch($whoisdata,$findlimit);
if($checklimit==1){return 0;}
$checkdata=searchmatch($whoisdata,$finddata);
if($checkdata==1){return 1;}else{return 2;}
}

function searchmatch($data,$find)
{
$strpos=strpos($data,$find);
if($strpos===false){return 0;}else{return 1;}
}
//toey@tc20.net
?>

ลองดูอ่าครับ ผมก็เขียนไม่ค่อยเก่ง ผิดพลาดขอโทษด้วยนะครับ
หากมีอะไรให้ช่วยก็บอกได้ครับ
ช่วยๆ กันครับ

เพิ่มเติมนิดนึง สำหรับการตรวจสอบชื่อโดเมนว่างหรือไม่ว่าง

ปัจจุบัน ขั้นตอนการจดชื่อโดเมนรวดเร็วมากและชื่อโดเมนที่ถูกจดแล้วก็จะพร้อมใช้งานทันที แต่ว่า whois เซิฟเวอร์กลางของโดเมนอาจจะไม่ได้ปรับข้อมูลตลอดเวลา ดังนั้นอาจจะมีปัญหาได้ในกรณีที่โดเมนที่เพิ่งจดใหม่ แต่ใน whois กลับแจ้งว่าชื่อโดเมนนั้นยังว่างอยู่ ผมได้เคยให้รายละเอียดพร้อมตัวอย่างไว้แล้วที่

ผมลองดูแล้วทำมันไม่ show เมื่อผม check www.ปกปิด.com/whois.php

[quote author=toey link=topic=7698.msg73185#msg73185 date=1189018025]
whois.php
<?php
//how to search whois.php?domain=tc20.net

//check null
$domain=trim($domain);
if(($ext!=NULL)||($domain==NULL)){exit();}

//explode domain ext from domain
list($domain,$ext)=explode(".", $domain);

//check syntax
$leng=strlen($domain);
if($leng<2){echo"domain < 2";exit();}else if($leng>63){echo"domain > 63";exit();}
if(@ereg("^-|-$",$domain)){exit();}
if(!@ereg("([a-z]|[A-Z]|[0-9]|-){".strlen($domain)."}",$domain) || !strlen($domain)){exit();}

//check domain
$x=whois($domain,$ext);
if($x==0){echo"ไม่สามารถเชื่อมต่อกับ server ได้";}
else if($x==1){echo"สามารถจดโดเมนได้";}
else if($x==2){echo"มีผู้ใช้โดเมนนี้แล้ว";}

function whois($domain,$ext)
{

//select whois server from ext
if(($ext==‘com’)||($ext==‘net’)){$whoisserver=‘whois.crsnic.net’;$finddata=“No match”;}
else if ($ext==‘info’){$whoisserver=‘whois.afilias.info’;$finddata=“NOT FOUND”;}
else if ($ext==‘biz’){$whoisserver=‘whois.nic.biz’;$finddata=“Not found”;}
else if ($ext==‘org’){$whoisserver=‘whois.publicinterestregistry.net’;$finddata=“NOT FOUND”;$findlimit=“WHOIS LIMIT EXCEEDED”;}
else if ($ext==‘us’){$whoisserver=‘whois.nic.us’;$finddata=“Not found”;}
else if ($ext==‘in’){$whoisserver=‘whois.inregistry.net’;$finddata=“NOT FOUND”;}
else if ($ext==‘cn’){$whoisserver=‘whois.cnnic.net.cn’;$finddata=“no matching record”;}
else{exit();}

//connect to whois server
$domain="$domain.$ext";
$fp = fsockopen("$whoisserver", 43, $errno, $errstr, 30);
if (!$fp){return 0;}else{fputs($fp, “$domain
”);while (!feof($fp)){$whoisdata.= fread($fp,128);}fclose ($fp);}

//find match data
$checklimit=searchmatch($whoisdata,$findlimit);
if($checklimit==1){return 0;}
$checkdata=searchmatch($whoisdata,$finddata);
if($checkdata==1){return 1;}else{return 2;}
}

function searchmatch($data,$find)
{
$strpos=strpos($data,$find);
if($strpos===false){return 0;}else{return 1;}
}
//toey@tc20.net
?>

ลองดูอ่าครับ ผมก็เขียนไม่ค่อยเก่ง ผิดพลาดขอโทษด้วยนะครับ
หากมีอะไรให้ช่วยก็บอกได้ครับ
ช่วยๆ กันครับ