Whois-Skript in PHP includen?

Bash, Shell, PHP, Python, Perl, CGI
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Whois-Skript in PHP includen?

Post 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

Code: Select all

index.php?content=meineseite
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?
[tom]
Posts: 656
Joined: 2003-01-08 20:10
Location: Berlin

Re: Whois-Skript in PHP includen?

Post 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]
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Whois-Skript in PHP includen?

Post 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? ;)
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Whois-Skript in PHP includen?

Post 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.)
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

> Suche include-fähiges PHP-Skript für Whois-Abfragen!

Post 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
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Whois-Skript in PHP includen?

Post 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
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Whois-Skript in PHP includen?

Post 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? :wink: 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:
[tom]
Posts: 656
Joined: 2003-01-08 20:10
Location: Berlin

Re: Whois-Skript in PHP includen?

Post by [tom] »

Ich hätt dir jetzt auch nen 3-Zeiler angeboten, aber dodolin war wieder schneller. ;-)

[TOM]
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Whois-Skript in PHP includen?

Post 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:

Code: Select all

ln whois.php whois.phps
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...
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Whois-Skript in PHP includen?

Post 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... :?
[tom]
Posts: 656
Joined: 2003-01-08 20:10
Location: Berlin

Re: Whois-Skript in PHP includen?

Post 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]
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Whois-Skript in PHP includen?

Post 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.
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Whois-Skript in PHP includen?

Post 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:
[tom]
Posts: 656
Joined: 2003-01-08 20:10
Location: Berlin

Re: Whois-Skript in PHP includen?

Post by [tom] »

Einfach das include um dodolins Beispiel und die Domain als Parameter übergeben.

[TOM]
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Whois-Skript in PHP includen?

Post 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
[nix]pepe
Userprojekt
Userprojekt
Posts: 244
Joined: 2003-04-08 19:36

Re: Whois-Skript in PHP includen?

Post 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]
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Whois-Skript in PHP includen?

Post by [ djthesound ] »

Hallo,

nein erledigt ist es noch nicht :wink:. 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.
dodolin
Posts: 3840
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Whois-Skript in PHP includen?

Post 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.
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Whois-Skript in PHP includen?

Post 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:
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Whois-Skript in PHP includen?

Post 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!
kahler
Posts: 130
Joined: 2003-04-18 17:42
Location: /root

Re: Whois-Skript in PHP includen?

Post 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
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Whois-Skript in PHP includen?

Post 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.
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
Welches meinst du da im Speziellen? Ich habe schon einige Whois-Scripte getestet, aber die waren irgendwie alle nicht so nach meinem Geschmack. :?
kahler
Posts: 130
Joined: 2003-04-18 17:42
Location: /root

Re: Whois-Skript in PHP includen?

Post 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.
[ djthesound ]
Posts: 300
Joined: 2003-04-21 01:15

Re: Whois-Skript in PHP includen?

Post 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? :wink:
kahler
Posts: 130
Joined: 2003-04-18 17:42
Location: /root

Re: Whois-Skript in PHP includen?

Post 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++;
 }
}