Programmazione
Asp
Asp.NET
Java
Javascript
Php
Oracle

Svaghi
Ascolta Radio
Faccine
Libri
Links

Varie
Cerca nel sito...
Segnalazioni
Scrivimi


Sistema di Whois

Eccovi un code mode semplice che permette di visualizzare le informazioni relative adun dominio (data di registrazione, data di scadenza, name Servers, proprietario, ecc...)
Cominciamo ad anlizzare il codice:

echo "<form action=\"$REQUEST_URI\" method=\"GET\">\n";
echo "<input type=\"text\" name=\"domain\">\n";
echo "<input type=\"submit\" value=\" Whois! \">\n";
echo "</form>\n";

C'è davvero poco da dire... con questo code abbiamo stampato a video il form.
L'unica variabile che abbiamo utilizzato è $REQUEST_URI che serve per recuperare l'indirizzo della pagina (simile a $PHP_SELF, ma stampa anche le QueryString).

Continuiamo a vedere il codice ed ora passiamo alla parte "impegnativa":

$tld = explode(".", $domain);
switch($tld[1]){
        case "org": $server = "whois.opensrs.net"; break;
        case "net": $server = "whois.opensrs.net"; break;
        case "info" : $server = "whois.opensrs.net"; break;
        case "com": $server = "whois.opensrs.net"; break;
        case "it" : $server = "whois.nic.it";break;
        default: "whois.opensrs.net";
}

echo "<pre>\n";
$fp = fsockopen($server,43);
fputs($fp, "$domain\r\n");
while(!feof($fp)){
        $result = fgets($fp,128);
        echo $result;
}
fclose($fp);
echo "</pre>\n";

La prima variabile che incotriamo è $tld che ci serve appunto per ricavare il TLD (Top Level Domain) del dominio e per fare ciò abbiamo usato la funzione explode().
Per selezionare il server da adoperare per effettuare il nostro Whois, abbiamo usato switch().
Infine abbiamo aperto una connesione a un socket TCP verso il server selezionato ed abbiamo stampato a video i risultati del Whois.

Ecco a voi il codice completo:

<?php
if (isset($_GET['domain'])){
        $tld = explode(".", $domain);
        switch($tld[1]){
                case "org": $server = "whois.opensrs.net"; break;
                case "net": $server = "whois.opensrs.net"; break;
                case "info" : $server = "whois.opensrs.net"; break;
                case "com": $server = "whois.opensrs.net"; break;
                case "it" : $server = "whois.nic.it";break;
                default: "whois.opensrs.net";
        }

        echo "<pre>\n";
        $fp = fsockopen($server,43);
        fputs($fp, "$domain\r\n");
        while(!feof($fp)){
                $result = fgets($fp,128);
                echo $result;
        }
        fclose($fp);
        echo "</pre>\n";
}else{
        echo " <form action=\"$REQUEST_URI\" method=\"GET\">\n";
        echo "<input type=\"text\" name=\"domain\">\n";
        echo "<input type=\"submit\" value=\" Whois! \">\n";
        echo " </form>\n";
}
?>