Martin: CGI darf nur von anderem CGI ausgeführt werden

Hi!
Ich möchte ein Skript2 aus einem anderen Skript1 aufrufen. Das Skript2 darf aber nur arbeiten, wenn es auch von Skript1 gestartet wurde. Wie geht sowas?

Danke schonmal.

Martin

  1. hi!

    Ich möchte ein Skript2 aus einem anderen Skript1 aufrufen. Das Skript2 darf aber nur
    arbeiten, wenn es auch von Skript1 gestartet wurde. Wie geht sowas?

    Gar nicht. Du kannst den Aufruf von Skript 2 höchstens erschweren, zum Beispiel indem du ein Passwort als Parameter übergeben musst, ohne das Skript 2 nicht arbeitet.

    bye, Frank!

    1. hi!

      Ich möchte ein Skript2 aus einem anderen Skript1 aufrufen. Das Skript2 darf aber nur
      arbeiten, wenn es auch von Skript1 gestartet wurde. Wie geht sowas?

      Gar nicht. Du kannst den Aufruf von Skript 2 höchstens erschweren, zum Beispiel indem du ein Passwort als Parameter übergeben musst, ohne das Skript 2 nicht arbeitet.

      bye, Frank!

      Wie waere es wenn das erste Script eine Html-Datei ausgibt.
      (soll vorkommen) Im head bringen wir ein meta http-refresh="7;Zweites_Script" unter. Kann aber auch ein Link im Body zum zweiten Script sein.
      Das zweite Script fragt ueber $ENV{'HTTP_REFER'} ab, ob es von der richtigen Seite aus aufgerufen wird.
      Wenn ja, ok. Wenn nein, Zanke.

      Gruss Kristian

  2. Hi,

    Ich möchte ein Skript2 aus einem anderen Skript1 aufrufen. Das Skript2 darf aber nur arbeiten, wenn es auch von Skript1 gestartet wurde. Wie geht sowas?

    meinst Du, daß zweite Script darf nur erreichbar sein, wenn es von einer vom ersten Script erzeugten HTML-Seite aus aufgerufen wird, oder nur dann, wenn das erste Script es direkt aufruft (mit fork oder was auch immer)? Bei ersterem würde ich es auch mit der $ENV{'HTTP_REFERER'} Methode versuchen. Du kannst natürlich von Script1 ein Logifle anlegen, in dem die IP-Adresse und Zeit des Besuchers stehen und Script2 nur dann ausführen, wenn die aktuelle IP in den letzten z.B. 15 Minuten schon im Logfile stand; HTTP_REFERER wird nämlich von manchen Browsern etwas "komisch" zurückgegeben.

    Wenn Du zweiteres meinst (direkter Scriptaufruf), dann leg Script2 einfach in ein Verzeichnis, das nicht mit HTTP erreichbar ist, mach es Script-Executable und das war's :-)

    Cheatah

    1. Hi Cheatah

      .... Bei ersterem würde ich es auch mit der $ENV{'HTTP_REFERER'} Methode versuchen..... HTTP_REFERER wird nämlich von manchen Browsern etwas "komisch" zurückgegeben.

      Stimmt leider!
      Die Geschichte will mit meta http-equiv="refresh"... gar nicht funktionieren!
      Mit einem Link aus der generierten Seite geht es....

      <a href="http://www.kafit.de/kristian/script_to_script.html target="_new">Demo</a>

      Gruss Kristian

  3. Hi!
    Ich möchte ein Skript2 aus einem anderen Skript1 aufrufen. Das Skript2 darf aber nur arbeiten, wenn es auch von Skript1 gestartet wurde. Wie geht sowas?

    Also, wenn die auf dem gleichen Rechner sind, dann versuch mal einmal ne .htaccess, die den Zugriff auf das Script verbietet, und einmal system ("irgendwas.cgi"); was das Script aufruft.