PDA

Bekijk Volledige Versie : .nic server .nl extenties



NWO
08/06/04, 19:40
Beste mensen ik heb gisteren mijn domein check gemaakt voor alle extenties. Nu heb ik ook de nic servers: whois.domain-registry.nl & whois.nic.nl geprobeerd, maar werken niet. Is het zo dat er een maximaale aanvraag van 10 per dag is? Dat hoorde ik van iemand nl.
Kan iemand mij vertellen wat een werkende .nl nic server is? En als het bovenstaande gerucht waar is.. ?

mihosnet
08/06/04, 19:42
Is geen gerucht maar een feit. Als je SIDN deelnemer bent kan je je IP vrijstellen, zodat onbeperkt mogelijk is.

Dennis
08/06/04, 19:42
Allebei zelfde :)

Limiet van 15 whois'es per dag. Je kunt daarna nog wel controleren of het domein nog vrij is, maar de whois-gegevens kun je maximaal 15x per dag opvragen. (Zie ook andere topics)

NWO
08/06/04, 19:58
Origineel geplaatst door DennisCitus
Allebei zelfde :)

Limiet van 15 whois'es per dag. Je kunt daarna nog wel controleren of het domein nog vrij is, maar de whois-gegevens kun je maximaal 15x per dag opvragen. (Zie ook andere topics)

Bedoel ook enkel het domein... http://www.extra-hosting.nl/domeincheck.htm

Vraagt alleen het domein op, dus de server klopt wel???

Carl<n-media>
08/06/04, 20:02
Origineel geplaatst door extra-hosting
DUBBELE POST, SORRY :$
Gebruik dan het 'delete' knopje ;).

Dennis
08/06/04, 20:05
Ik zie het, dat is het 15-whois'es limiet.
Je zult de whois van .nl domeinen op een alternatieve manier moeten opvragen dmv. een system('whois....') command in PHP :)

NWO
08/06/04, 20:07
Origineel geplaatst door DennisCitus
Ik zie het, dat is het 15-whois'es limiet.
Je zult de whois van .nl domeinen op een alternatieve manier moeten opvragen dmv. een system('whois....') command in PHP :)

Heb je iets :P

Wel lastig weer die hollanders :S!!
haha, maar ja vind het maar raar...
Hoe bedoel je dat trouwens met een whois command in php?

Dennis
08/06/04, 20:10
<?php

@mysql_connect;

## Bestand openen en inlezen
$server_list = file('whois.txt');

$result = system("whois -h whois.domain-registry.nl 'is ".$server."'");

if (eregi('free', $result)) {
mysql_query("INSERT INTO `whois` ( `dom` ) VALUES ( '".$server."' );");
// mail("dennis@citusweb.com",$server,"".$server." is free.","From: whois@citus.nl");
}

echo "<br>";
}

?>Gedeelte van mijn whois-script voor mass-whoises :)
Werkt alleen nog niet voor domeinen met het woord free erin :)

Valid command wordt dus =>
whois -h whois.domain-registry.nl 'is citus.nl'

In php wordt dit:
system("whois -h whois.domain-registry.nl 'is citus.nl'");

NWO
08/06/04, 20:17
Origineel geplaatst door DennisCitus

<?php

@mysql_connect;

## Bestand openen en inlezen
$server_list = file('whois.txt');

$result = system("whois -h whois.domain-registry.nl 'is ".$server."'");

if (eregi('free', $result)) {
mysql_query("INSERT INTO `whois` ( `dom` ) VALUES ( '".$server."' );");
// mail("dennis@citusweb.com",$server,"".$server." is free.","From: whois@citus.nl");
}

echo "<br>";
}

?>Gedeelte van mijn whois-script voor mass-whoises :)
Werkt alleen nog niet voor domeinen met het woord free erin :)

Valid command wordt dus =>
whois -h whois.domain-registry.nl 'is citus.nl'

In php wordt dit:
system("whois -h whois.domain-registry.nl 'is citus.nl'");


Kijk probleem, ik snap hier nie echt veel van, ben echt basic met php.
en al helemaal niet met mysql kan alleen forum opzetten.. :S
Ik weet het slecht... maar ben nooit php nodig...
Misschien kan ik hem ergens halen kant en klaar :S

?

Dennis
08/06/04, 20:19
Nee, de meeste scripts met een .NL whois erin, gebruiken een standaard whois waarbij alle gegevens steeds opgevraagd worden. Na 15 whoisses zegt hij dan iets met 15 whoises.

NWO
08/06/04, 20:23
Origineel geplaatst door DennisCitus
Nee, de meeste scripts met een .NL whois erin, gebruiken een standaard whois waarbij alle gegevens steeds opgevraagd worden. Na 15 whoisses zegt hij dan iets met 15 whoises.

Hm, misschien wanneer jij hem af hebt? :$

Zal nu wel een apparte link naar nic.nl plaatsen of een andere site met check... Zie geen andere optie, iig bedankt!

Dennis
08/06/04, 20:31
Hah :)
Mijn scripting geef ik nooit publiekelijk weg helaas.

NWO
08/06/04, 20:38
Origineel geplaatst door DennisCitus
Hah :)
Mijn scripting geef ik nooit publiekelijk weg helaas.

Snap ik ;-) Zal zelf wel eens voor gaan zitten....

NWO
09/06/04, 10:33
Maar wat is nu een goede server voor de domein check?

Welke van deze 2 of een andere:

whois.domain-registry.nl

whois.nic.nl

alvast bedankt!

Dennis
09/06/04, 10:35
Zo werkt het dus niet, indien je een standaard whois uitvoert, dan kun je deze maar 15x uitvoeren. Voor de .nl extensie moet je een system(); command gebruiken.

NWO
09/06/04, 10:39
Dit is wat ik huidig in mijn script heb staan:



// .nl
$ext="nl";
$server = "whois.domain-registry.nl";
check($domein,$ext,$server);

Dennis
09/06/04, 10:42
Dat bedoel ik, dit is een verkeerde meting op deze manier.

Je moet de functie check kopieren en hem dan checknl noemen.

Gebruik dan de functie:
checknl($domein,$ext,$server);

En waar hij een fsockopen of iets vaag doet, zet je een system regel neer.

Post de functie hier maar neer, of zeg welk script je gebruikt. Ik probeer je wel even te helpen :)

NWO
09/06/04, 10:51
hier is de functie (check ook je pm)

<?php

function check($domein,$ext,$server)
{
$zoek = $domein.".".$ext;

$socket = fsockopen("$server", 43);

if(!$socket)
{
echo "Error";
} else {
fputs($socket,"$zoek \n");
while(!feof($socket))
{
$uitvoer .= fgets($socket,128);
}
fclose($socket);
}

robinvand
09/06/04, 10:52
Dit probleem heb ik zelf opgelost door bij de extensie te checken of deze .nl is (aangezien deze volgens mij de enige extensie is die een limiet op whois heeft) en dan daarop de volgende code los te laten:

if($extensie==".nl"){
$nlserver = "whois.domain-registry.nl";
$nlnomatch = "is free";

$data = "";
$fp = fsockopen ( $nlserver, 43 );
if ( $fp ){
fputs ( $fp, "is ".$domein.$extensie."\r\n" );
while ( !feof ( $fp ) ) {
$data.=fread ( $fp,1000 );
}
fclose ( $fp );
}else{
$data = "Error, can't open connection";
}
$gevonden = strpos($data, $nlnomatch);
if($gevonden === false){
return(1);//Niet vrij voor registratie
}else{
return(2);//Vrij voor registratie
}
}else{
//Doe andere domein extensies check hier
}

Deze code staat natuurlijk in een functie, die een integer returned. Deze kan je dan natuurlijk checken met iets van:

if($returnedValue==1){
echo "Domein is niet meer vrij!";
}elseif($returnedValue==2){
echo "Domein vrij voor registratie!!!";
}

Wat ik zelf heb gedaan is als de domein niet meer vrij was, voor de volledige whois informatie verwijzen naar:
http://www.domain-registry.nl/bestaat.php?uitgebreid=CHECKED&domein=domeinNaam.nl

Hopelijk kan je hier iets mee

Matthieu
09/06/04, 10:55
Origineel geplaatst door DennisCitus
En waar hij een fsockopen of iets vaag doet, zet je een system regel neer.Wat is er mis met een fsockopen?

Waarom zou je system commands gaan uitvoeren als het prima vanuit PHP zelf kan (check ook http://www.webhostingtalk.nl/showthread.php?s=&threadid=50032).

En voor extra-hosting, staat daar ook meteen de aanpassing van zijn script in :)

Cheers, Matthieu

NWO
09/06/04, 11:02
Ja, maar kan dat wel samen met de andere extenties?

Hij controleerd alle extenties: com net enz enz

robinvand
09/06/04, 11:20
Op zich kan je je script (die neem ik aan al werkt voor de andere extensie) zo laten, wat je alleen moet doen is een if functie in bouwen die kijkt of de extensie .nl is. Zo ja, moet ie de code die ik hierboven heb geplaatst uitvoeren, zo nee, voer dan de code van jezelf uit.

NWO
09/06/04, 11:27
Ik snap niet veel van .php zou je het voor mij willen verwerken in de volgende code:

<?php

if ($submit) {


// .be
$ext="be";
$server = "whois.dns.be";
check($domein,$ext,$server);

// .nl
$ext="nl";
$server = "whois.domain-registry.nl";
check($domein,$ext,$server);

// .net
$ext="net";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .org
$ext="org";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .com
$ext="com";
$server = "whois.verisign-grs.com";
check($domein,$ext,$server);

// .info
$ext="info";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .nu
$ext="nu";
$server = "whois.nic.nu";
check($domein,$ext,$server);

// .biz
$ext="biz";
$server = "whois.neulevel.biz";
check($domein,$ext,$server);

}
?><?php

function check($domein,$ext,$server)
{
$zoek = $domein.".".$ext;

$socket = fsockopen("$server", 43);

if(!$socket)
{
echo "Error";
} else {
fputs($socket,"$zoek \n");
while(!feof($socket))
{
$uitvoer .= fgets($socket,128);
}
fclose($socket);
}


if (preg_match ("/No such domain/i", $uitvoer) || preg_match ("/No match/i", $uitvoer) || preg_match ("/Not found/i", $uitvoer))
{
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
} else {
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}

}



?>

alvast bedank

Origineel geplaatst door robinvand
Op zich kan je je script (die neem ik aan al werkt voor de andere extensie) zo laten, wat je alleen moet doen is een if functie in bouwen die kijkt of de extensie .nl is. Zo ja, moet ie de code die ik hierboven heb geplaatst uitvoeren, zo nee, voer dan de code van jezelf uit.

robinvand
09/06/04, 11:32
Origineel geplaatst door extra-hosting
Ik snap niet veel van .php zou je het voor mij willen verwerken in de volgende code:

<?php

if ($submit) {


// .be
$ext="be";
$server = "whois.dns.be";
check($domein,$ext,$server);

// .nl
$ext="nl";
$server = "whois.domain-registry.nl";
checkNl($domein,$ext);

// .net
$ext="net";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .org
$ext="org";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .com
$ext="com";
$server = "whois.verisign-grs.com";
check($domein,$ext,$server);

// .info
$ext="info";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .nu
$ext="nu";
$server = "whois.nic.nu";
check($domein,$ext,$server);

// .biz
$ext="biz";
$server = "whois.neulevel.biz";
check($domein,$ext,$server);

}
?><?php

function check($domein,$ext,$server)
{
$zoek = $domein.".".$ext;

$socket = fsockopen("$server", 43);

if(!$socket)
{
echo "Error";
} else {
fputs($socket,"$zoek \n");
while(!feof($socket))
{
$uitvoer .= fgets($socket,128);
}
fclose($socket);
}


if (preg_match ("/No such domain/i", $uitvoer) || preg_match ("/No match/i", $uitvoer) || preg_match ("/Not found/i", $uitvoer))
{
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
} else {
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}

}


function checkNl($domein, $extensie){
//Hier de code plakken die ik hierboven heb gegeven
}

?>

alvast bedank


Zoiets zou moeten werken...

NWO
09/06/04, 11:36
deze :?

if($returnedValue==1){
echo "Domein is niet meer vrij!";
}elseif($returnedValue==2){
echo "Domein vrij voor registratie!!!";
}

robinvand
09/06/04, 11:41
Nee, combinatie van die en van deze:

if($extensie==".nl"){
$nlserver = "whois.domain-registry.nl";
$nlnomatch = "is free";

$data = "";
$fp = fsockopen ( $nlserver, 43 );
if ( $fp ){
fputs ( $fp, "is ".$domein.$extensie."\r\n" );
while ( !feof ( $fp ) ) {
$data.=fread ( $fp,1000 );
}
fclose ( $fp );
}else{
$data = "Error, can't open connection";
}
$gevonden = strpos($data, $nlnomatch);
if($gevonden === false){
return(1);//Niet vrij voor registratie
}else{
return(2);//Vrij voor registratie
}
}else{
//Doe andere domein extensies check hier
}

... misschien is http://www.php.net een oplossing voor je, maar vooruit, hier dan de combinatie van die 2:


//Dit plakken in die functie checkNl!!
$nlserver = "whois.domain-registry.nl";
$nlnomatch = "is free";

$data = "";
$fp = fsockopen ( $nlserver, 43 );
if ( $fp ){
fputs ( $fp, "is ".$domein.$extensie."\r\n" );
while ( !feof ( $fp ) ) {
$data.=fread ( $fp,1000 );
}
fclose ( $fp );
}else{
$data = "Error, can't open connection";
}
$gevonden = strpos($data, $nlnomatch);
if($gevonden === false){
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}else{
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
}

suc6 er mee...

NWO
09/06/04, 11:50
heb nu dit gedaan en werkt niet :S

<?php

if ($submit) {


// .be
$ext="be";
$server = "whois.dns.be";
check($domein,$ext,$server);

// .nl
$ext="nl";
$server = "whois.domain-registry.nl";
checkNl($domein,$ext);

// .net
$ext="net";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .org
$ext="org";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .com
$ext="com";
$server = "whois.verisign-grs.com";
check($domein,$ext,$server);

// .info
$ext="info";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .nu
$ext="nu";
$server = "whois.nic.nu";
check($domein,$ext,$server);

// .biz
$ext="biz";
$server = "whois.neulevel.biz";
check($domein,$ext,$server);

}
?><?php

function check($domein,$ext,$server)
{
$zoek = $domein.".".$ext;

$socket = fsockopen("$server", 43);

if(!$socket)
{
echo "Error";
} else {
fputs($socket,"$zoek \n");
while(!feof($socket))
{
$uitvoer .= fgets($socket,128);
}
fclose($socket);
}


if (preg_match ("/No such domain/i", $uitvoer) || preg_match ("/No match/i", $uitvoer) || preg_match ("/Not found/i", $uitvoer))
{
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
} else {
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}

}


function checkNl($domein, $extensie)
$nlserver = "whois.domain-registry.nl";
$nlnomatch = "is free";

$data = "";
$fp = fsockopen ( $nlserver, 43 );
if ( $fp ){
fputs ( $fp, "is ".$domein.$extensie."\r\n" );
while ( !feof ( $fp ) ) {
$data.=fread ( $fp,1000 );
}
fclose ( $fp );
}else{
$data = "Error, can't open connection";
}
$gevonden = strpos($data, $nlnomatch);
if($gevonden === false){
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}else{
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
}

?>

robinvand
09/06/04, 11:56
Krijg je hierbij errors? Zoja, welke?

Matthieu
09/06/04, 12:33
Simple...

Hij heeft je code direct achter function checkNl($domein, $extensie) in plaats van tussen de { en } :)

extra-hosting.... dat laatste stukje (vanaf function checkNL dus) moet zijn

function checkNl($domein, $extensie)
{
$nlserver = "whois.domain-registry.nl";
$nlnomatch = "is free";

$data = "";
$fp = fsockopen ( $nlserver, 43 );
if ( $fp ){
fputs ( $fp, "is ".$domein.$extensie."\r\n" );
while ( !feof ( $fp ) ) {
$data.=fread ( $fp,1000 );
}
fclose ( $fp );
}else{
$data = "Error, can't open connection";
}
$gevonden = strpos($data, $nlnomatch);
if($gevonden === false){
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}else{
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
}
}

Cheers, M.

Dennis
09/06/04, 14:08
<?php

function checknl($domein,$ext,$server)
{
$zoek = $domein.".".$ext;

$socket = system("whois -h whois.domain-registry.nl 'is ".$zoek."'");

if (eregi('free', $result)) {
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
}

else {
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}

}
?>Probeer dit eens :)

En dan zo:



// .nl
$ext="nl";
$server = "whois.domain-registry.nl";
checknl($domein,$ext);
(Hoofdlettergevoelig, jij had checkNl ipv checknl)

Zo moet het werken :)
Voeg de functie overigens alleen even toe en haal de <?php en ?> dan eromheen weg.

Toevoegen onder de laatste } van het script. (Die's nog van de functie)

Lukt dit?

NWO
09/06/04, 14:33
Krijg het niet voor elkaar mannen steeds een fout melding, zou iemand zo aardig willen zijn het script ff aan te willen passen?

Orginele script (waar.nl niet werkt) http://www.extra-hosting.nl/domein_check.php

nieuwe die ik na alle tips heb, maar ook niet werkt: http://www.extra-hosting.nl/domein_check2.php

Alvast bedankt!!

robinvand
09/06/04, 15:14
Misschien is het handig de source van alle twee even beschikbaar te maken. Upload dezelfde 2 files maar dan met extensie phps ipv php.

Dennis
09/06/04, 16:15
Origineel geplaatst door extra-hosting
Krijg het niet voor elkaar mannen steeds een fout melding, zou iemand zo aardig willen zijn het script ff aan te willen passen?

Orginele script (waar.nl niet werkt) http://www.extra-hosting.nl/domein_check.php

nieuwe die ik na alle tips heb, maar ook niet werkt: http://www.extra-hosting.nl/domein_check2.php

Alvast bedankt!! Kom op zeg!!!
Je ziet die parse-error toch zelf ook wel? Geef ons dan meteen de regels om deze regel heen.

Ik kan best begrijpen dat je nog niet gevorderd bent in PHP, maar een beetje debuggen moet toch wel lukken? Een parse-error zelf laten zien heeft geen nut, omdat wij de source nodig hebben.

Graag regels 80 t/m 90 posten :)

NWO
09/06/04, 22:31
vanaf rij 76 tot 103

if (preg_match ("/No such domain/i", $uitvoer) || preg_match ("/No match/i", $uitvoer) || preg_match ("/Not found/i", $uitvoer))
{
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
} else {
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}

}


<?php

function checknl($domein,$ext,$server)
{
$zoek = $domein.".".$ext;

$socket = system("whois -h whois.domain-registry.nl 'is ".$zoek."'");

if (eregi('free', $result)) {
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
}

else {
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}

}
?>

NWO
09/06/04, 22:33
Origineel geplaatst door robinvand
Misschien is het handig de source van alle twee even beschikbaar te maken. Upload dezelfde 2 files maar dan met extensie phps ipv php.

ze staan erop in phps

Matthieu
10/06/04, 00:25
Origineel geplaatst door extra-hosting
ze staan erop in phps
Briljant, nu is alleen de php versie verdwenen :)

Maar als je eens begint met de overbodige <?php tag eruit te slopen die zo rond regel 86 staat, dan gaat het vast stukken beter.

Behalve dan dat je check functie fundamenteel niet correct is aangezien ieder .nl-domein nu bezet geeft. Je resultaat stop je namelijk in $socket en vervolgens ga je het resultaat controleren in $result en dat werkt niet zo best :)

dus één van de twee even hernoemen en dan gaat het wel werken.

Dan krijg je waarschijnlijk nog wat warnings omdat je functie-aanroep twee variabelen bevat en je functie zelf 3 vars vraagt.


function checknl($domein,$ext,$server) wordt

function checknl($domein,$ext)en ook dat probleem is weer opgelost....

Nou, tot zover de gratis PHP lessen van vandaag :)

Succes!
Matthieu

Oja... ik zou je toch willen aanraden om eens een PHP boek te kopen, want als je dit soort simpele dingen (overbodige tags) al niet zelf kunt zien dan wordt het lastig debuggen. En er komt een moment dat de gratis PHP lessen hier op zijn :)

NWO
10/06/04, 00:41
ok ik heb alles gedaan wat hie verteld is maar krijg nog steeds errors :S

http://www.extra-hosting.nl/domein_check.phps

Kun je zien hoe ik hem nu heb.

Maby kan iemand alles even verwerken voor me in de orginele code:


<?php

if ($submit) {



// .be
$ext="be";
$server = "whois.dns.be";
check($domein,$ext,$server);

// .nl
$ext="nl";
$server = "whois.domain-registry.nl";
check($domein,$ext,$server);

// .net
$ext="net";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .org
$ext="org";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .com
$ext="com";
$server = "whois.verisign-grs.com";
check($domein,$ext,$server);

// .info
$ext="info";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .nu
$ext="nu";
$server = "whois.nic.nu";
check($domein,$ext,$server);

// .biz
$ext="biz";
$server = "whois.neulevel.biz";
check($domein,$ext,$server);

}
?><?php

function check($domein,$ext,$server)
{
$zoek = $domein.".".$ext;

$socket = fsockopen("$server", 43);

if(!$socket)
{
echo "Error";
} else {
fputs($socket,"$zoek \n");
while(!feof($socket))
{
$uitvoer .= fgets($socket,128);
}
fclose($socket);
}


if (preg_match ("/No such domain/i", $uitvoer) || preg_match ("/No match/i", $uitvoer) || preg_match ("/Not found/i", $uitvoer))
{
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
} else {
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}

}



?>

Matthieu
10/06/04, 11:02
Origineel geplaatst door extra-hosting
ok ik heb alles gedaan wat hie verteld is maar krijg nog steeds errors :SNee, geen errors... maar warnings :)


Warning: system, diskfreespace, ..... , pclose() has been
disabled for security reasons in ....domein_check.php on line 88
Geeft aan dat de system() call die je gebruikt om de whois te doen niet uitgevoerd mag worden in de hosting omgeving waar je website draait.


Maby kan iemand alles even verwerken voor me in de orginele code:Tuurlijk! Er zijn vast voldoende mensen hier die voor een gering bedrag even het script voor je in elkaar willen zetten als je zelf over onvoldoende kennis beschikt om dit tot een goed einde te brengen.

Ik wil je nog wel 1 gratis hint geven, het enige wat je hoeft te wijzigen in je originele script is dat er een "is " voor de domein naam komt
check("is ".$domein,$ext, $server);en dat er een preg_match(/"is free"/i,$uitvoer) toegevoegd wordt in de check functie.

Die hele checknl-functie kun je dan weg gooien.

Nogmaals... succes!
Matthieu

Dennis
10/06/04, 13:09
@Matthieu:
Je moet het via een system-command doen, want anders heb je te maken met het limiet van maximaal 15 whoisses. Want de manier via system(); is de enige mogelijkheid om slechts op te vragen of het domein vrij is of bezet is. Alle andere mogelijkheden vragen altijd de hele whois op.

Matthieu
10/06/04, 14:06
Dennis,

Niet perse.. via fsockopen() en een fputs() kun je ook een IS-query doen en ben je dus niet beperkt tot de limiet van 15.

simpelweg de fputs($fsock, "domein.ext") vervangen door fputs($fsock, "is domein.ext") stuurt een IS-query naar de whois-server ipv een standaard whois query.

Het mooie van de fsockopen methode is dat je dus geen problemen krijgt zoals onze vriend extra-hosting hier had. Bovendien ben ik sowieso geen fan van het system command, maar dat is mijn afwijking :)

Cheers, Matthieu

/Edit: typo... (as usual)

Dennis
10/06/04, 20:19
Nog even een opmerking. Heeft hij ooit gewerkt?

Hij zoekt helemaal niet op 'is free' in de whois zelf:

|| preg_match ("/is free/i", $uitvoer) ||Even toevoegen :)

De oplossing van Matthieu, lijkt dan inderdaad beter.

Hier werkt hier trouwens wel (Het script dat jij gaf; ik heb alleen isfree toegevoegd):)
Geen idee alleen waarom hij de output van het system command ook laat zien. Ben je eigenlijk wel beheerder van je server? Ik naam meteen aan dat je wist hoe je bijvoorbeeld safemode voor een bepaald domein uit kon zetten.

Eindresultaat met tips van Matthieu :)


<body bgcolor="********">
Voor domeinnaam in zonder www en zonder extensie
<form name="domeinchecker" action="" method="post"><?=$domain_bericht ?>:<br />
<input type="text" name="domein" size="24" class="input">
<input type="hidden" value="yes" name="submit" class="input">
<input type="submit" name="verzenden" value="Check" class="input">
</form>
<?php

if ($submit) {


// .be
$ext="be";
$server = "whois.dns.be";
check($domein,$ext,$server);

// .nl
$ext="nl";
$server = "whois.domain-registry.nl";
check($domein,$ext,$server);

// .net
$ext="net";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .org
$ext="org";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .com
$ext="com";
$server = "whois.verisign-grs.com";
check($domein,$ext,$server);

// .info
$ext="info";
$server = "rs.internic.com";
check($domein,$ext,$server);

// .nu
$ext="nu";
$server = "whois.nic.nu";
check($domein,$ext,$server);

// .biz
$ext="biz";
$server = "whois.neulevel.biz";
check($domein,$ext,$server);

}
?><?php

function check($domein,$ext,$server)
{
if($ext=="nl") {
$zoek = "is ".$domein.".".$ext.""; }
else {
$zoek = $domein.".".$ext; }

$socket = fsockopen("$server", 43);

if(!$socket)
{
echo "Error";
} else {
fputs($socket,"$zoek \n");
while(!feof($socket))
{
$uitvoer .= fgets($socket,128);
}
fclose($socket);
}

if (preg_match ("/No such domain/i", $uitvoer) || preg_match ("/No match/i", $uitvoer) || preg_match ("/is free/i", $uitvoer) || preg_match ("/Not found/i", $uitvoer))
{
echo "<b>www.$domein.$ext</b>: <font color=\"green\">beschikbaar</a></font><br />\n";
} else {
echo "<b>www.$domein.$ext</b>: <font color=\"red\">niet beschikbaar</font><br />\n";
}

}
?>.org en .info gebruiken natuurlijk andere whois-servers, maar dat fix je zelf maar :)

NWO
10/06/04, 20:24
Bedankt, voor de mensen die nog willen weten wat de server voor

die andere 2 zijn: whois.networksolutions.com

;-)

Tanx mensen.. :D

(en ja hij heeft gewerkt, alleen de .nl deed het niet... :D)