markus: kann das include?

halli hallo

ich brauche mal eurer wissen :)

<?php include("nsys/index.php?action=test"); ?>

der linkt geht ohne das "action" wunderbar - nur mit.. da klappt es nicht ...

gibt es da eine möglichkeit für mich oder kann das include nicht umsetzten?

gruß und thx
markus

ps: denke es klappt nicht - will nur sicher gehen ehe ich das alles umprogrammiere, denn das währ die schnellste möglichkeit

  1. inkludier das mal ohne die action und gib der seite die du inkludierst die variable action=test mit

  2. Moin!

    <?php include("nsys/index.php?action=test"); ?>

    der linkt geht ohne das "action" wunderbar - nur mit.. da klappt es nicht ...

    <?php include("http://deinserver.tld/nsys/index.php?action=test"); ?>

    Du musst nur die richtige URI angeben. Bei Deiner wird die Datei auf dem Dateisystem gelesen, da ist die search natürlich falsch. Rufst Du das via http auf, so beschäftigst Du den Server, der fragt php und schon werden Deine Argumente wohlbeachtet.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Hello,

      <?php include("nsys/index.php?action=test"); ?>

      der linkt geht ohne das "action" wunderbar - nur mit.. da klappt es nicht ...

      <?php include("http://deinserver.tld/nsys/index.php?action=test"); ?>

      Du musst nur die richtige URI angeben. Bei Deiner wird die Datei auf dem Dateisystem gelesen, da ist die search natürlich falsch. Rufst Du das via http auf, so beschäftigst Du den Server, der fragt php und schon werden Deine Argumente wohlbeachtet.

      Ich bin erher der meinung, dass include() hier überhaupt nichts zu suchen hat. Was soll das bewirken? Erklärt mir das mal einer? Ich sehe da nur ein Loch aufreißen. Versuchs mal lieber mit readfile().

      Und was ist mit der HTML-Document-Info? Steht die dann doppelt im Output?

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. Moin!

        Ich bin erher der meinung, dass include() hier überhaupt nichts zu suchen hat. Was soll das bewirken? Erklärt mir das mal einer? Ich sehe da nur ein Loch aufreißen. Versuchs mal lieber mit readfile().

        Das kommt darauf an, was der Frager damit machen will. Theoretisch kann ein php- Skript ein php- Skript ausgeben. Das müsste geparst werden... also, wenn das Skript nicht sterben soll, wenn der Server nicht antwortet: include(), sonst requiere(). readfile() ist auch eine Lösung, die unter bestimmten Bedingungen optimal ist (wie zum Beispiel auch fopen, passthrue...).

        Und was ist mit der HTML-Document-Info? Steht die dann doppelt im Output?

        Das bestimmt doch das aufrufende und das aufgerufene php- Skript- oder? Wer sagt, daß beide sowas "<html><header><title>Foo<title></header><body><div>Bar</div></body></html>" ausgeben?
        Die header, die der Server mit dem aufrufenden Skript sendet werden jedenfalls "verworfen".

        Selbstverständlich ist es allerdings ein Sicherheitsproblem include zu verwenden, wenn nicht sichergestellt ist, dass der Autor des aurufenden Skriptes dem Autor des aufgerufenen Skriptes _unbedingt_ vertrauen kann.

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix®

        --
        Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
        1. Hello,

          Selbstverständlich ist es allerdings ein Sicherheitsproblem include zu verwenden, wenn nicht sichergestellt ist, dass der Autor des aurufenden Skriptes dem Autor des aufgerufenen Skriptes _unbedingt_ vertrauen kann.

          Das hat nicht nur mit dem Autor zu tun. Erinnerst Du dich nicht an die unverschämte Zenzur, die Freenet mal vorgenommen hat? Wer weiß, was man sich da reinlädt.

          include() in dieser Weise zu verwenden ist BÖSE.

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          1. Moin!

            Erinnerst Du dich nicht an die unverschämte Zenzur, die Freenet mal vorgenommen hat?

            Zum _unbedingten_ Vertrauen in den Autor gehört, daß ich diesen kenne. Wenn ein Dienstleister (Wer ist Freenet?) mein Skript verändert, dann habe ich einen anderen Autor. Das so ein Dienstleister bei mir dann keine Dienste mehr leistet, wenn er es wagt meine Skripte oder deren Ausgabe zu verändern, ist klar. Freenet benutzt einen transparenten Proxy, spielt an dem rum und ist somit bei mir unten durch.

            Wenn ich aber auf meinem Server A auf diese Weise Resourcen auf meinem Server B zugänglich mache, dann vertraue ich mir in aller Regel. Natürlich multipliert sich in diesem Fall die Wahrscheinlichkeit, dass einer davon kompromittiert wird zu einer höheren Gesamtwahrscheinlichkeit, dass der Server mit dem aufrufenden Skript kompromittiert wird: (Beispielrechnung)

            p1 sei die Wahrscheinlichkeit, dass der Server 1 innerhalb von 10 Jahren mal gehackt wird.
            p2 sei die Wahrscheinlichkeit, dass der Server 2 innerhalb von 10 Jahren mal gehackt wird.

            p1=0,3
            p2=0,2
            p1,2=(1,3)*(1,2)-1
            p1,2=0,56

            Die resultierende Wahrscheinlichkeit, dass Server 2 gehackt wird liegt bei mehr als der doppelten Wahrscheinlichkeit, wenn es genügt den Server 1 zu hacken um Server 2 auch hacken zu können (das ist hier der Fall) Das Problem erscheint größer, wenn man noch Proxys und DNS-Server mit einbezieht -> (klassischer "man in the middle"- Angriff: die könnten gehackt werden und statt des gewünschten Skriptes etwas ganz anderes liefern, das Problem wird noch deutlicher, wenn man weiss, dass das http-Protokoll Klartext verwendet...)

            Du hast also insofern recht, zu sagen es wäre "böse(tm)". Wenn es aber notwendig erscheint... geht man auch ein Risiko ein.

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix®

            --
            Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
            1. Hello,

              Wenn ich von eigenen Servern entfernte Dateien einlesen will, dann mache ich das mit ssh oder sftp und nicht mit include().

              Scahun wir mal, ob sich noch jemand zu Wort meldet zum Thema. Ich bin heute etwas müde, den ganzen Sermon nochmal runterzubeten.

              • include()
              • require()
              • eval()
              • system()
              • exec()
              • ...

              sind nur was für weit fortgeschrittene PHP-Programmierer und nicht zum Spielen im Netz gedacht.

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              1. Hallo,

                Wenn ich von eigenen Servern entfernte Dateien einlesen will, dann mache ich das mit ssh oder sftp und nicht mit include().

                Das kann man doch so stehen lassen.

                Du glaubst garnicht, auf was für Ideen unbedarfte PHP-Programmierer kommen. ;-)

                Grüße aus Barsinghausen,
                Fabian

    2. thx
      hatte es grade auch so ausprobiert..
      so klapp es :)