Avatar billede rene_m Nybegynder
04. september 2006 - 14:57 Der er 5 kommentarer og
1 løsning

hjælp til whois script

Hejsa.
Jeg har brug for hjælp til at kunne få føldende script til at tage følgende domæner:
.eu, .se, .info,.biz, .it og .nu

Er der nogle der kan hjælpe mig?
Evt. med at give mig det færdige script, da jeg ikke er så god til at kode!

Med venlig hilsen
Rene_m

<?php

//com, net
$intserver="whois.crsnic.net";
$intnomatch="No match for";

//org
$orgserver="whois.publicinterestregistry.net";
$orgnomatch="NOT FOUND";

//DK
$dkserver="whois.dk-hostmaster.dk";
$dknomatch="No entries found";

$template = "whois.html";
$registerlink = "signup.php";
$restrict = 0;

if ($_SERVER['REQUEST_METHOD'] == 'GET')
    {
    $domain = $_GET['domain'];
    $ext = $_GET['ext'];
    $option = $_GET['option'];
}
else
    {
    $domain = $_POST['domain'];
    $ext = $_POST['ext'];
    $option = $_POST['option'];
}

if ($restrict ==1)
    {
    check_referer();
}

    namecheck($domain);

if ($ext == "alt")
{
    $punkt = array("dk", "com", "net", "org");
    for($i=0; $i < sizeof($punkt);$i++)
    {
        $ext = $punkt[$i];
        if($ext=="com"||$ext=="net")
        {
        $server=$intserver;
        $nomatch=$intnomatch;
        }

        if($ext=="org")
        {
        $server=$orgserver;
        $nomatch=$orgnomatch;
        }

        if($ext=="dk")
        {
        $server=$dkserver;
        $nomatch=$dknomatch;
        }

        if($option=="check")
        {
        $layout = check_domain($domain,$ext);
        print_results($layout);
        }
        if($option=="whois")
        {
        whois($domain,$ext);
        }
    }
}
else
    {
    if($ext=="com"||$ext=="net")
    {
    $server=$intserver;
    $nomatch=$intnomatch;
    }
    if($ext=="org"){
    $server=$orgserver;
    $nomatch=$orgnomatch;
    }
    if($ext=="dk")
    {
    $server=$dkserver;
    $nomatch=$dknomatch;
    }

    if($option=="check")
    {
    $layout = check_domain($domain,$ext);
    print_results($layout);
    }
    if($option=="whois")
    {
    whois($domain,$ext);
    }
}

function check_domain($domain,$ext)
{
    global $nomatch,$server;
    $output="";
    if(($sc = fsockopen($server,43))==false){echo"Could not connect to whois server, Please try again later: $server";exit;}
    fputs($sc,"$domain.$ext\n");
    while(!feof($sc)){$output.=fgets($sc,128);}
    fclose($sc);

    if (eregi($nomatch,$output)){
    return 0;
    }
    else
    {
    return 1;
    }
}

function whois($domain,$ext)
{
    global $template,$server;
    if(($sc = fsockopen($server,43))==false)
    {
        if(($sc = fsockopen($server,43))==false)
        {
        echo 'There is a temporary service disruption, Please try again later';
        exit;
        }
    }
    if($ext=="com"||$ext=="net")
    {
        fputs($sc, "$domain.$ext\n");
        while(!feof($sc)){
        $temp = fgets($sc,128);
        if(ereg("Whois Server:", $temp))
        {
            $server = str_replace("Whois Server: ", "", $temp);
            $server = trim($server);
        }
    }
    fclose($sc);
    if(($sc = fsockopen($server,43))==false)
    {
        echo 'There is a temporary service disruption, Please try again later';
        exit;
    }
}


$output="";

fputs($sc,"$domain.$ext\n");
while(!feof($sc))
{
$output.=fgets($sc,128);
}
fclose($sc);
if(!is_file($template))
{
    print 'The template file does not exist or is not writable';
    exit;
}
$template = file ($template);
$numtlines = count ($template);
$line = 0;
while (! stristr ($template[$line], "<!--DOMAIN RESULTS-->") && $line < $numtlines)
    {
        echo $template[$line];
        $line++;
    }
$line++;
print '<div align=\"center\"><table width=\"450px\" border=\"0\" cellPadding=0 class=font1l>';
print "<tr><td><b>Information om dom&aelig;net \"$domain.$ext\"</b></td></tr>";
print '<tr><td><hr></td></tr><br><tr><td>';
$output= explode("\n",$output);
foreach ($output as $value)
    {
        print "$value<br>\n";
    }
print '</td></tr></table></div><br>';
while ($line < $numtlines)
    {
        echo $template[$line];
        $line++;
    }
}

function check_referer ()
{
global $REFERERS, $HTTP_REFERER;
    if ($HTTP_REFERER != "")
    while (list($val, $ref) = each($REFERERS))
        if (preg_match("/^http:\/\/$ref/", $HTTP_REFERER))
        return;
        print("Access denied to: $HTTP_REFERER<br>Please try again later!");
        exit;
}

function print_results($layout)
{
    global $template,$registerlink,$domain,$ext;
    $template = file ($template);
    $numtlines = count ($template);
    $line = 0;
   
        while (!stristr ($template[$line], "<!--DOMAIN RESULTS-->") && $line < $numtlines) {
        echo $template[$line];
        $line++;
    }
    if($layout==0){
        $line++;
        print '<table bgcolor="#f1f1f1" width="400 px" border="0" cellPadding="0"  cellspacing="1"><tr><td><b>Dom&aelig;net er ledig: ';
        print $domain;
        print '.';
        print $ext;
        print '</b></td></tr><tr><td bgcolor="#f9f9f9">Vil du <a href=';
        print $registerlink;
        print '?domain=';
        print $domain;
        print '.';
        print $ext;
        print '>register</a> dom&aelig;net ?</td></tr></table><br>';
    }

    if($layout==1)
    {
        $line++;
        print '<table bgcolor="#f1f1f1" width="400px" border="0" cellPadding="0" cellspacing="1"><tr><td><b>Dom&aelig;net er optaget: ';
        print $domain;
        print '.';
        print $ext;
        print '</b><br></td></tr><tr><td bgcolor="#f9f9f9"><b>Se dom&aelig;net ejer: <a href="?domain=';
        print $domain;
        print '&ext=';
        print $ext;
        print '&option=whois">her</a></td></tr></table><br>';
    }

    while ($line < $numtlines)
    {
        echo $template[$line];
        $line++;
    }
}

function namecheck($domain)
{
    if($domain=="")
    {
        echo"Du skal skrive noget i feltet!<br>\n"; exit;
    }
    if(strlen($domain)<2)
    {
        echo"Dom&aelig;net: <b>$domain</b> er for kort (min: 2)"; exit;
    }
    if(strlen($domain)>57)
    {
        echo"Dom&aelig;net: <b>$domain</b> er for langt (max: 57)"; exit;
    }
    if(@ereg("^-|-$",$domain))
    {
        echo"Der er ulovlige karaktere i dom&aelig;nenavnet"; exit;
    }
    if(!ereg("([a-z]|[A-Z]|[0-9]|-){".strlen($domain)."}",$domain))
    {
        echo"Der er ulovlige karaktere i dom&aelig;nenavnet:"; exit;
    }
}
?>
</div>
Avatar billede nielle Nybegynder
04. september 2006 - 20:39 #1
Noget i denne stil:

<?php
// com, net
$intserver = "whois.crsnic.net";
$intnomatch = "No match for";

// org
$orgserver = "whois.publicinterestregistry.net";
$orgnomatch = "NOT FOUND";

// dk
$dkserver = "whois.dk-hostmaster.dk";
$dknomatch = "No entries found";

// eu
$euserver = "whois.eu";
$eunomatch = "Status:      FREE";

// se
$seserver = "whois.nic-se.se";
$senomatch = "No data found";

// info
$infoserver = "whois.afilias.info";
$infonomatch = "NOT FOUND";

// biz
$bizserver = "whois.neulevel.biz";
$biznomatch = "Not found";

// it
$itserver = "whois.nic.it";
$itnomatch = "No entries found";

// nu
$itserver = "whois.nic.nu";
$itnomatch = "NO MATCH";


$template = "whois.html";
$registerlink = "signup.php";
$restrict = 0;


if ($_SERVER['REQUEST_METHOD'] == 'GET')
{
    $domain = $_GET['domain'];
    $ext = $_GET['ext'];
    $option = $_GET['option'];
}
else
{
    $domain = $_POST['domain'];
    $ext = $_POST['ext'];
    $option = $_POST['option'];
}

if ($restrict == 1)
{
    check_referer();
}

namecheck($domain);

if ($ext == "alt")
{
    $punkt = array("dk", "com", "net", "org", "eu", "se", "info", "biz", "it", "nu");
    for ($i=0; $i < sizeof($punkt);$i++)
    {
        $ext = $punkt[$i];
        if ($ext == "com" || $ext == "net")
        {
            $server = $intserver;
            $nomatch = $intnomatch;
        }
        else if ($ext == "org")
        {
            $server = $orgserver;
            $nomatch = $orgnomatch;
        }
        else if ($ext == "dk")
        {
            $server = $dkserver;
            $nomatch = $dknomatch;
        }
        else if ($ext == "eu")
        {
            $server = $euserver;
            $nomatch = $eunomatch;
        }
        else if ($ext == "se")
        {
            $server = $seserver;
            $nomatch = $senomatch;
        }
        else if ($ext == "info")
        {
            $server = $infoserver;
            $nomatch = $infonomatch;
        }
        else if ($ext == "biz")
        {
            $server = $bizfoserver;
            $nomatch = $biznomatch;
        }
        else if ($ext == "it")
        {
            $server = $itfoserver;
            $nomatch = $itnomatch;
        }
        else if ($ext == "nu")
        {
            $server = $nufoserver;
            $nomatch = $nunomatch;
        }

        if ($option == "check")
        {
            $layout = check_domain($domain,$ext);
            print_results($layout);
        }
        else if ($option == "whois")
        {
            whois($domain, $ext);
        }
    }
}
else
{
    if ($ext == "com" || $ext == "net")
    {
        $server = $intserver;
        $nomatch = $intnomatch;
    }
    else if ($ext == "org")
    {
        $server = $orgserver;
        $nomatch = $orgnomatch;
    }
    else if ($ext == "dk")
    {
        $server = $dkserver;
        $nomatch = $dknomatch;
    }
    else if ($ext == "eu")
    {
        $server = $euserver;
        $nomatch = $eunomatch;
    }
    else if ($ext == "se")
    {
        $server = $seserver;
        $nomatch = $senomatch;
    }
    else if ($ext == "info")
    {
        $server = $infoserver;
        $nomatch = $infonomatch;
    }
    else if ($ext == "biz")
    {
        $server = $bizfoserver;
        $nomatch = $biznomatch;
    }
    else if ($ext == "it")
    {
        $server = $itfoserver;
        $nomatch = $itnomatch;
    }
    else if ($ext == "nu")
    {
        $server = $nufoserver;
        $nomatch = $nunomatch;
    }

    if ($option == "check")
    {
        $layout = check_domain($domain,$ext);
        print_results($layout);
    }
    else if ($option == "whois")
    {
        whois($domain,$ext);
    }
}

function check_domain($domain,$ext)
{
    //////////////////////////////////////////
    // Herfra burde være det samme kode ... //
    //////////////////////////////////////////
Avatar billede nielle Nybegynder
20. september 2006 - 21:59 #2
Hvad med noget respons?
Avatar billede rene_m Nybegynder
15. oktober 2006 - 13:24 #3
jeg kan ik bruge det til noget. sorry men har fundet ud af det...
Avatar billede nielle Nybegynder
15. oktober 2006 - 18:22 #4
Hmmm, men koden burde ellers virtke as-is. Hvis du ellers havde problemer med at få den til at virks, så synes jeg at du burde have reageret noget hurtigere sådan at vi kunne have kigget på den i fællesskab :^|
Avatar billede rene_m Nybegynder
15. oktober 2006 - 20:54 #5
sorry. men har ikk kunnet være i nærheden af en pc de sidste næsten 2 uger da jeg harværet alene med mine 2 små børn, da konen har været indlagt på sygehuet. men jeg fik rettet de fejl der var i det.men nu jeg tænker over det har du så kendskab til nyhedsystemer?
for så kan det være at du kan hjæle mig med følgende:
http://www.eksperten.dk/spm/738679

du skal nok få dine points hvis du lige komemr med et svar....
Avatar billede nielle Nybegynder
16. oktober 2006 - 18:03 #6
Nu var det sådan set ikke for at få point. Jeg bliver bare somme tider irriteret over at bruge en del tid på et spørgsmål, og så ikke få noget respons over det. Specielt når jeg senere får at vide at spørgeren ikke kunne få det til at virke ... hvordan kan man hjælpe med at få det til at virke, hvis man ikke bliver involveret?!

Siden at du selv har løst dit problem, synes jeg da at du bare skal tage dine point tilbage på denne her. :^)

Slet ingen surhed herfra, men du må da meget gerne poste din egen løsning sådan at folk her på Eksperten også får noget ud af det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester