Anzeige:
Ergebnis 1 bis 7 von 7

Thema: cgi script umschreiben in normales perl script

  1. #1
    Registrierter Benutzer Avatar von dilindam
    Registriert seit
    21.01.2004
    Beiträge
    15

    cgi script umschreiben in normales perl script

    Hallo allerseits,

    ich habe kaum Ahnung von CGi und PERL.
    Brauche ich eigentlich auch nicht. Dafuer arbeite
    ich damit zu selten. Nun habe ich aber das Problem
    das ich hier ein CGI Skript habe das wunderbar laeuft.
    Nur meinem Supervisor ist cgi zu unsicher.

    Nun braeuchte man das cgi Skript doch nur umschreiben in ein
    perl Skript. Da haengt es aber bei mir.

    Also das cgi skript gehoert zu mailgraph, ein Programm welches
    mir aus des syslog den email-verkehr mittels rrdtool auswertet.

    das mailgraph.cgi erstellt mir die Graphen. Die liegen dann bereits schon in einel temp verzeichnis. nur wie gesagt darf ich kein cgi benutzen.

    perl mailgraph.cgi zeigt mir den htmlcode, erstellt aber keine Graphen,
    lynx dump auch nicht.

    Wie mache ich das am besten?

    Bitte um Hilfe

    MfG Torsten

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    generell macht es keinen Unterschied, ob das Skript nun als CGI läuft oder direkt an der Konsole...

    Achte darauf, dass benötigte Umgebungsvariablen (%ENV) vorhanden sind.

    Was die Bilder betrifft, so könnte es natürlich sein, dass diese nicht einmalig erzeugt und dann gespeichert werden, sondern zur Laufzeit über das <image> Tag vom Skript angefordert werden.

    Das Skript erzeugt also erstmal HTML Code mit z.B
    Code:
    <img src="skript.pl?getImage=123123">
    Für jedes Image würde dann wieder das Skript angeschmissen um diesmal kein HTML auszugeben, sondern Binärdaten... das Bild eben.

    In dem Fall funktioniert dass nicht so einfach.

    Häng das Skript doch mal an...

  3. #3
    Registrierter Benutzer Avatar von dilindam
    Registriert seit
    21.01.2004
    Beiträge
    15
    [QUOTE

    Häng das Skript doch mal an...[/QUOTE]


    Jup, werd ich mal machen.

    MfG

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    Vermutung bestätigt:
    Code:
    ...
                    print "<P><IMG BORDER=\"0\" SRC=\"$scriptname?${n}-n\" ALT=\"mailgraph\">\n";
                    print "<P><IMG BORDER=\"0\" SRC=\"$scriptname?${n}-e\" ALT=\"mailgraph\">\n";
    
    ...
    Dort wird der HTML Code erzeugt, der ein image Tag enthält, welches als src wiederum das Skript mit entsprechendem Parameter aufruft...
    Wenn dieser Parameter da ist, wird der Graph erzeugt und die Funktion send_image aufgerufen... die gibt dann das Bild mit entsprechendem Header aus.

    Die einfachste Methode ist vermutlich, das Verzeichniss, in dem das Skript per Webserver erreichbar ist zu schützen, so dass es von außen nicht erreichbar ist.
    Die HTML Dateien + Bilder erzeugst Du dann einfach, indem Du das Skript per wget oder curl lokal aufrufst...

    Ansonsten müsstest Du das Skript ein wenig ändern.
    Der HTML Code muss so geändert werden, dass ein statischer Pfad zum bild angegeben wird (kein Skript) und in main() müssen ein paar Änderungen bzgl. der Pfade und der Bilderzeugung gemacht werden.

  5. #5
    Registrierter Benutzer Avatar von dilindam
    Registriert seit
    21.01.2004
    Beiträge
    15
    Die einfachste Methode ist vermutlich, das Verzeichniss, in dem das Skript per Webserver erreichbar ist zu schützen, so dass es von außen nicht erreichbar ist.
    Die HTML Dateien + Bilder erzeugst Du dann einfach, indem Du das Skript per wget oder curl lokal aufrufst...


    also mit wget, curl oder auch lynx geht gar nichts. das verzeichnis bleibt leer.
    das verzeichnis jetzt absichern koennte ich zwar, aber das will der alte nicht.

    ich bin schon dabei beim umschreiben. vielleicht kannste mir da noch bisserl weiterhelfen.

    fg

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    ok,

    also es sieht so aus, als würde dem Skript immer ein Parameter übergeben - irgend'ne ID oder sowas...

    ist das immer die selbe oder sind es verschiedene?

    Poste mal ein Beispiel, oder besser gleich zwei, wie Du das Skript normalerweise aufrufst.

  7. #7
    Registrierter Benutzer Avatar von dilindam
    Registriert seit
    21.01.2004
    Beiträge
    15
    Zitat Zitat von michael.sprick
    ok,
    Poste mal ein Beispiel, oder besser gleich zwei, wie Du das Skript normalerweise aufrufst.
    Das Skript ist aus dem Programm mailgraph von David Schweikert.
    http://people.ee.ethz.ch/~dws/software/mailgraph

    Vielleicht sollte ich den erstmal fragen.

    Es wird im Browser (Mozilla) aufgerufen. http://domain de/cgi-bin/mailgraph.cgi
    Auf dem Rechner laeuft das mailgraph.pl Skript welches Daten aus der
    maillog sammelt und in eine RRD speichert.
    mailgraph.cgi ist dann dafuer da die Grafiken zu erstellen.

    MfG
    Torsten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •