Page 1 of 2
Whois-Skript in PHP includen?
Posted: 2003-05-26 21:51
by [ djthesound ]
Hallo Leute,
ich habe ein "Standalone-Whois-Skript" und möchte dieses in eine bestehende PHP-Seite einbauen, die aber mit Footer und Header arbeitet und die Seiten werden durch
aufgerufen. Wie kann ich nun dieses Skript einbauen, hat da jemand eine Idee? Mit folgender Anweisung funkt es jedenfalls nicht:
Code: Select all
<?php
include('http://www.meine-domain.com/cgi-bin/script.cgi');
?>
Wer kann mir bitte helfen?
Re: Whois-Skript in PHP includen?
Posted: 2003-05-26 22:33
by [tom]
[ DJtheSOUND ] wrote:
Mit folgender Anweisung funkt es jedenfalls nicht:
Code: Select all
<?php
include('http://www.meine-domain.com/cgi-bin/script.cgi');
?>
Und
was "funkt" nicht?
[TOM]
Re: Whois-Skript in PHP includen?
Posted: 2003-05-26 22:48
by [ djthesound ]
Das ist die einzige Ausgabe...
Code: Select all
Warning: Failed opening '../cgi-bin/whois.cgi' for inclusion (include_path='.:/usr/share/pear') in content/whois.inc.php on line 6
Aber ich habe mittlerweile in einem Scripting-Board gelesen, dass es so gar nicht möglich sein soll, kann das sein? Also dann muss ich mich wohl doch eher um ein "PHP Whois" umsehen? ;)
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 00:29
by dodolin
Nicht include(), nimm mal exec() oder sowas in der Art.
Du brauchst natürlich entsprechende Rechte (Das Skript muss für den User, unter dem PHP läuft ausführbar (+x) sein.)
> Suche include-fähiges PHP-Skript für Whois-Abfragen!
Posted: 2003-05-27 00:33
by [ djthesound ]
Hallo, guten Abend!
Ich versuch es eben mit einem PHP-Skript, das ich aufgetrieben habe, aber da muss ich ziemlich viel anpassen... :(
Hat jemand ein PHP-Whois-Skript, das sich "includen" läßt und für _VIELE_ Domainendungen geeignet ist. Das ist jetzt habe kann nur 12 TLD, aber ich kann die Whois-Server selbst in eine Liste eintragen, das wäre nicht das Schlimme... aber wenn's was fertiges gäbe, wäre es noch besser :-D
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 00:39
by dodolin
Ah, ok. Wenn gefragt wird, dann kann ich ja mal "Werbung" machen. :)
http://www.dodos.homelinux.net/service/whois
Quelltext kann ich auch liefern, ist aber eigentlich nichts spektakuläres, ausser einem exec() von gwhois.
Ansonsten:
http://faq.providerdomain.de/registrier ... tes/2.html
http://www.iks-jena.de/cgi-bin/whois
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 00:48
by [ djthesound ]
Hallo!
Hmmmmm, naja ich möchte es ja auf meinem eigenen Server haben und keine "fremden" verlinken, weißt du. Die Eingabe einer Domain + Ankreuzen (oder Auswahl von Dropdownlist) sollte es dann sein und die Ausgabe wird dann "included" in eine php-Seite, die aus einem Header/Footer-Gerüst aufgebaut ist.
Kannst du mir da weiterhelfen bitte?

Wie ist das mit "gwhois", was du angesprochen hast? Es würd mich dein Quellcode ja auch mal sehr interessieren, weiss aber nicht ob ich da mal gucken darf? :?: :roll:
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 00:49
by [tom]
Ich hätt dir jetzt auch nen 3-Zeiler angeboten, aber dodolin war wieder schneller. ;-)
[TOM]
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 00:56
by dodolin
gwhois ist ein "generic whois". Klick doch einfach mal auf den Link bei mir, der dir die manpage davon zeigt. Bei Debian gibt's das fertig als Paket, wenn nicht, frag mal Google, ob er es kennt.
Quellcode: Kein Thema, ich hab gerade mal folgendes gemacht:
Also, guckst du hier:
http://www.dodos.homelinux.net/service/whois.phps
Kannst du benutzen wie du willst. Sieh es als GPL Licensed an, wenn du möchtest.
Wenn du Fragen dazu hast, nur zu...
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 01:18
by [ djthesound ]
Hallo,
vielen Dank für das Skript, für den lokalen Betrieb am Server finde ich es ja recht praktisch, aber es geht mir im speziellen um folgende Punkte (da ich auch Optik ein wenig wert lege):
- Eingabe des Domainnamen
- Ausgabe in ein Template (am besten "include" fähig in PHP)
- Bei der Ausgabe nicht unbedingt die ganze Whois-Info, sondern nur "IST FREI" oder "IST BELEGT" (eventuelle: "IST BELEGT von ... blablabla").
- Wenn "IST FREI", anklickbar zum registrieren.
- Möglichst viele Domainendungen (TLD)
- Oder zumindest leicht erweiterbar mit einer Serverliste
Leider habe ich nicht soooooo viel Erfahrung mit Programmieren, sonst würde ich mir sowas selbst irgendwie zusammen coden, aber leider so ein Profi bin ich <noch> nicht.
Gibts ein Skript, das halbwegs diese Anforderungen entspricht? Zumindest includen (auf Templates) und leicht erweitern sollte man es schon können... :?
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 01:25
by [tom]
[ DJtheSOUND ] wrote:
Leider habe ich nicht soooooo viel Erfahrung mit Programmieren, sonst würde ich mir sowas selbst irgendwie zusammen coden, aber leider so ein Profi bin ich <noch> nicht.
Dann ist das doch jetzt die beste Gelegenheit zum üben. Abgesehen davon fehlt doch gar nicht soviel.
- Domainnamen kannst du eingeben
- Ausgabe in ein Template ist auch kein Akt. Kombination aus (X)HTML und PHP.
- Das Zauberwort heißt "grep".
- Wenn frei, dann kommt es drauf an,
wo du registrieren willst.
- macht gwhois automatisch
- gehört zu gwhois dazu
[TOM]
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 01:29
by dodolin
Das macht doch genau
http://faq.providerdomain.de/registrier ... tes/2.html , oder?
Guck doch mal: :)
http://isfree.schlundtec.com/cgi-bin/is ... schlund.de
http://isfree.schlundtec.com/cgi-bin/is ... ablubb.net
Das kannst du doch bei dir einfach einbauen, das braucht der dumme User ja gar nicht zu merken, wo du die Daten herkriegst.
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 01:40
by [ djthesound ]
Abend dodolin,
danke dass du mir hilft... :) Tja, das ist mir schon klar, wie das funkt. Wie ich dem CGI-Skript die Parameter übergeben ist mir auch schon klar... aber (und jetzt kommt es)... wie leite ich die Ausgabe wieder auf meine Seite und include das noch dazu, ohne dass der (wie du sagst) dumme User merkt, dass die Daten von Schlund+Co. kommen? Bin ich schon übernachtig, oder nur zu dumm dafür? :lol:
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 01:45
by [tom]
Einfach das include um dodolins Beispiel und die Domain als Parameter übergeben.
[TOM]
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 01:52
by dodolin
Ja, ich glaube, es ist bereits zu spät für dich. :P
Einfach mal kurz das Manual angeguckt und überflogen (
http://de.php.net/manual/en/ ) - und was finde ich da...? z.B. das hier:
http://de.php.net/manual/en/features.remote-files.php
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 13:46
by [nix]pepe
hmmm, ich weißt zwar jetzt nicht genau in wie weit sich das jetzt erledigt hat (war zu faul bis unten zu lesen) aber wenn du nen script von ner andern domain bzw. Server include willst, dann musst du das mit require machen und nit mit include...
MfG
Pepe
[EDIT]mist, dodolin war schneller :) [/EDIT]
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 14:51
by [ djthesound ]
Hallo,
nein erledigt ist es noch nicht

. Ich werde heute mal so gegen Abend das mit
http://isfree.schlundtec.com/cgi-bin/is ... ablubb.net versuchen, das erscheint mir eine logische Lösung zu sein.
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 15:40
by dodolin
a) Denke ich auch, dass es am besten ist, man nimmt den Schlund-Service, vor allem, wenn man später auch über Schlundtec registrieren will, da deren Output dann ja wohl stimmen sollte.
b) Nach einem Hinweis von Fritz (An dieser Stelle ein großen Dankeschön an dich, Fritz!) musste ich feststellen, dass das gwhois von Debian stable aka woody an diversen Stellen noch veraltete Pattern Einträge in /etc/gwhois/patterns hat. Das hat zur Folge, dass dieser gwhois (und damit z.B. auch meine PHP-Seiten) für sämtliche .org Domains (und vielleich noch mehr...) nicht funktionieren.
Abhilfe würde schaffen:
Das pattern File von Hand ändern (ist eigentlich eine Kleinigkeit).
Oder den gwhois von Debian testing nehmen, da ist das bereits gefixed. Da der gwhois/testing in seinen Abhängigkeiten keine bestimmten Versionen von anderen Programmen verlangt, sollte sich der auch problemlos unter stable installieren lassen.
Das nur so zur Info als Nachtrag.
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 15:52
by [ djthesound ]
Hallo,
danke für eure Hilfe(n). Also das gwhois finde ich für lokale Abfragen direkt per SSH ja wirklich ganz in Ordnung, aber für die Webseitenausgabe finde ich es dann doch nicht so geeignet, wenn ich mir das mal so überlege.
Fritz hat mir da ein Beispielscript zukommen lassen, dass ich mir mal genauer ansehen muss, und als zweite Lösung wäre eben dann das von Schlund & Co. (auch wenn ich nicht über diesen Provider registriere).
Mal sehen, was noch so raus kommt, im Moment habe ich nicht wirklich viel Zeit zum testen, aber der Abend kommt ja bald wieder... :lol:
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 17:18
by [ djthesound ]
Hallo, guten Abend!
Ich habe aus dieser Info jetzt folgendes Skript gebastelt (kann man ja nicht sagen programmiert *g*):
Code: Select all
<html>
<head>
<title>Domain Whois Abfrage</title>
</head>
<body>
<form method="POST" action="http://isfree.schlundtec.com/cgi-bin/isfree.cgi">
<p align="center">Hier den Domainnamen <b>ohne</b> www. eingeben, z.B. debian.org:<br><br>
<input type="hidden" name="nodesign" value="1">
<input type="text" name="domain" size="20">
<input type="submit" name="" value="Abfragen!" border="0">
</p>
</form>
</body>
</html>
Nur, für mich stellt sich jetzt eine Frage (da ich ja nicht möchten, dass diese Ausgabe so in meine PHP-Datei kommt), wie ich die Ausgabe "includen" kann. Hat jemand einen Tip parat? Danke schon mal!
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 19:53
by kahler
Klar, kein Problem....
....
Code: Select all
<?php
if (!isset($_POST["send"]))
{
print "<html>";
print "<head>";
print "<title>Domain Whois Abfrage</title>";
print "</head>";
print "<body>";
print "<form method="POST" action="".$_SERVER["PHP_SELF"]."">";
print "<p align="center">Hier den Domainnamen <b>ohne</b> www. eingeben, z.B. debian.org:<br><br>";
print "<input type="text" name="domain" size="20">";
print "<input type="submit" name="send" value="Abfragen!" border="0">";
print "</p>";
print "</form>";
print "</body>";
print "</html>";
}
else
{
readfile ("http://isfree.schlundtec.com/cgi-bin/isfree.cgi?nodesign=1&domain=".$_POST["domain"]);
}
?>
Natürlich müsste man jetzt eigentlich noch eine Fehlerbehandlung einbauen, da ja bei Domainnamen auch gewisse Regeln gelten, aber du kannst natürlich auch enfach die Fehlerbehandlung von Schlund ausgeben.
Falls du noch Probleme hast, dann sag einfach bescheid.
PS: Hier findest du ein Script, das nach ein bischen Anpassungsarbeit, die Abfragen selbst macht (ohne Aufruf eines weiteren Scriptes):
http://www.php-welt.net/script-archiv-a ... s-Abfragen
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 20:24
by [ djthesound ]
Hallo kahler,
Klar, kein Problem....
Danke dir, das war es was ich suchte. So gefällt mir das schonmal echt gut als Standalone Anwedung :) . Eine Fehlerauswertung werde ich mal gucken, ob ich die Einbau... weiss noch nicht.
Welches meinst du da im Speziellen? Ich habe schon einige Whois-Scripte getestet, aber die waren irgendwie alle nicht so nach meinem Geschmack. :?
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 21:09
by kahler
Dieses hier:
http://www.topdog-software.com/scripts.php
Hatte ich auch Mal eine Zeitlang in Einsatz, habs dann allerdings auf meine Bedürfnisse abgewandelt und verbessert.
Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 21:30
by [ djthesound ]
Hallo kahler,
ja das Script hatte ich schon, aber ohne Ã?nderungen ist das nicht so
das Richtige. Welche Ã?nderungen hast du denn durchgeführt, oder
dürfte ich mal bitte deine Beispiele als "Lernzweck" ab/angucken?

Re: Whois-Skript in PHP includen?
Posted: 2003-05-27 21:42
by kahler
hier der Quellcode des veränderten Scripts. Ist halt extra auf meine Anforderungen angepasst und verändert.
Es beinhaltet zum Beispiel nicht das Formular, da dieses in einer anderen Datei existiert und es gibt keine Kommentare in dem Script (bin ich zu faul dafür :-D ). Aber vielleicht hilft es dir ja trotzdem weiter:
Code: Select all
<?php
//com TLD
$comserver="whois.nsiregistry.com";
$comnomatch="No match for";
//net TLD
$netserver="whois.nsiregistry.com";
$netnomatch="No match for";
//org TLD
$orgserver="whois.publicinterestregistry.net";
$orgnomatch="No match for";
//de TLD
$deserver="whois.denic.de";
$denomatch="No entries found";
$error = 0;
if ($_POST["domain"]=="")
{
print "Bitte geben Sie einen Domainnamen ein:<br>n";
$error = 1;
}
if (strlen($_POST["domain"])< 3)
{
print "Der Domainname ".$_POST["domain"]." ist zu kurz.<br>n";
print "Ein Domainname muss aus mindestens 3 Zeichen bestehen<br>n";
$error = 1;
}
if (strlen($_POST["domain"])>63)
{
print "Der Domainname ".$_POST["domain"]." ist zu lang.<br>n";
print "Ein Domainname darf aus maximal 63 Zeichen bestehen.<br>n";
$error = 1;
}
if (@ereg("^-|-$",$_POST["domain"]))
{
print "Domainnamen können nicht mit einem Bindestrich "-" beginnen oder enden<br>";
$error = 1;
}
if (!ereg("([a-z]|[A-Z]|[0-9]|-){".strlen($_POST["domain"])."}",$_POST["domain"]))
{
print "Domainnamen dürfen keine Sonderzeichen enthalten.<br>";
$error = 1;
}
if ($error != 1)
{
$tld_array = split (",", $_POST["tld"]);
$ptr = 0;
while ($ptr < count ($tld_array))
{
if ($tld_array[$ptr] == "com")
{
$server = $comserver;
$nomatch = $comnomatch;
}
elseif ($tld_array[$ptr] == "net")
{
$server = $netserver;
$nomatch = $netnomatch;
}
elseif ($tld_array[$ptr] == "org")
{
$server = $orgserver;
$nomatch = $orgnomatch;
}
elseif ($tld_array[$ptr] == "de")
{
$server = $deserver;
$nomatch = $denomatch;
}
$result="";
if(($socket = fsockopen($server,43))==false)
{
print "Konnte Whois Server nicht kontaktieren. Bitte probieren Sie es zu einem sp&teren Zeitpunkt nocheinmal<br>n";
}
fputs($socket,$_POST["domain"].".".$tld_array[$ptr]."n");
while(!feof($socket))
{
$result.=fgets($socket,128);
}
fclose($socket);
if (eregi($nomatch,$result))
{
print "Domain ".$_POST["domain"].".".$tld_array[$ptr]." noch frei<br>n";
}
else
{
print "Domain <a href="http://www.".$_POST["domain"].".".$tld_array[$ptr]."" target="_blank">".$_POST["domain"].".".$tld_array[$ptr]."</a> schon reserviert<br>n";
}
$ptr++;
}
}