• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

WHOIS in PHP

Crying Man

New member
Boah
lustiges neues Forum
aber ich wollte eigentlich wissen wie ich eine Whios Abfrage in PHP schreiben kann, sie sollte nur für .de Domains sein und muss auch keine weiteren Informationen ausgeben (nur abchecken ob die Domain vorhanden ist)

Lustige neue Funktionen
 
probier es doch mal damit !?

<table>
<TR><form action='<?php echo $PHP_SELF; ?>' method='post'>
<input type="hidden" name="action" value="find">
<td><input type="text" name="domain" value="<?php echo $domain; ?>"></td>
<td><select name='endung'>
<option value=".com,2">.com</option>
<option value=".net,2">.net</option>
<option value=".edu,2">.edu</option>
<option value=".de,1" selected>.de</option>
</select>
<input type="submit" value="Find"></td></form>
</tr>
</table>

<?php

function abfrage($server,$domainname,$endung) {
settype($ausgabe,"array");
$domain = $domainname.$endung;
$fp = fsockopen ($server, 43, $errnr, $errstr);
set_socket_blocking($fp,0);
fputs($fp, $domain."\n");
while (!feof($fp)) {
$result = trim(fgets($fp, 200));
// Kommentare und Leerzeilen werden ignoriert
if($result AND !ereg("^(%|-)",$result)) {
// Schleife bricht ab, sobald u.s. Ausdrücke vorkommen
if(ereg("(No match|No entries found)",$result)) {
$domainfrei = true;
unset($ausgabe);
break;
}
// Splittet das Ergebniss und erstellt eine Tabelle
$zeile = explode(":",$result);
$ausgabe[] = "<tr><td>".trim($zeile[0])."</td><td>".trim($zeile[1])."</td></tr>";
}
}
fclose($fp);
return $ausgabe;
}


if($action=="find" AND $domain) {
// Ermittlung der Parameter für die Abfrage-Funktion
$endung = explode(",",$endung);
$server = $endung[1];
$endung = $endung[0];
$server = ($server == 2) ? "whois.crsnic.net" : "whois.ripe.net";
// Aufruf der Funktion
$ausgabe = abfrage($server,$domain,$endung);
echo "<table>";
if(count($ausgabe)) {
// Der Domainname ist vergeben
echo implode("\n",$ausgabe);
} else{
// Der Domainname ist frei
echo "<tr><td>Der Domainname ist frei</td></tr>";
}
echo "</table>";


}

?>
 
Du kannst alles, was Dein Linux-Server kann, per PHP ausgeben.

d.h. Du kannst

<?php echo /usr/bin/traceroute ?>
falls sich traceroute im Verzeichnis /usr/bin befindet.
so geht dann eben auch whois etc....


Gruß,
adri
 
Jetzt hab' ich es selber rausgefunden, aber wie soll ich es nun benutzen ?

Ich habe nicht al zu viel Erfahrung mit Linux und ich kann mir auch gar nicht vorstellen wie PHP das Ergebnis von Traceroute ausgeben soll.

Der Code den gepostet hast funktioniert nicht (die Verzeichnisangabe war aber richtig)
 
ich habe da auch Blödsinn geschrieben...

also:

$cmd = "/usr/bin/traceroute http://www.jswelt.de";
$fp=popen($cmd,"r");
$result=fread($fp,8096);
pclose($fp);
echo $result;

Was dann in $result steht:
wenn Du an Deinem Linux-Server (per telnet) den Befehl "traceroute www.jswelt.de" absendest, erscheint die Route auf dem Bildschrim.
und das, was auf dem Bildschirm steht, ist in o.g. Variante eben in der Var $result enthalten.


Hope that helps,

Adrian
 
Es geht immer noch nicht !

Ich bekomm es nicht zum laufen, hast du es denn schon mal ausprobiert ?

Muss der Server irgenwie speziell konfiguriert werden (der Server gehört nämlich der Firma bei der ich grad' Praktikum mache, deshalb haben wir auch Zugriff auf alle Einstellungen)
 
der Pfad muss halt stimmen.
ich weiß auch garnicht, ob traceroute so überhaput geht.
das musst Du mal mit irgendeinem Befehl testen, den es bei Euch mit sicherheit gibt.
sogar manpages sollten aufrufbar sein.


gruiß,
adrian
 
ich glaub das darf man garnicht die daten von der denic holen und dann wieder ausgeben:


Copyright (c) 2000, DENIC eG
Die unten angegebenen Informationen dürfen nur zum Zwecke der technischen oder administrativen Notwendigkeiten des Internetbetriebs genutzt werden. Die Informationen dürfen ohne ausdrückliche Erlaubnis der DENIC eG weder elektronisch noch in anderer Art gespeichert werden. Insbesondere die Nutzung der veröffentlichten Information zu Werbe- oder ähnlichen Zwecken wird hiermit ausdrücklich untersagt.
 
Zurück
Oben