[include] in der Browserzeile bestimmen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [include] in der Browserzeile bestimmen

    Hallo,

    ich habe bei mehrern Seiten gesehen, das man den Include Bereich einer Internetseite auch in der Browserzeile bestimmen kann.

    Wie geht das?

    als Beispiel steht in meiner Seite:

    <?PHP
    include("gbstart.php");
    ?>


    Wie muss das Aussehen, wenn ich die Include datei durch die Internetadresse bestimmen will?

    z.b.:

    http://www.meinewebsite.de/index.php?path=start.php

    Was muss ich da eintragen?

  • #2
    PHP-Code:
    include($_GET['path']); 
    [color=red]Geht nicht[/color] ist keine Fehlermeldung

    Kommentar


    • #3
      Ok vielen Dank für die schnelle Hilfe....

      Kommentar


      • #4
        Sei dir aber des gigantischen Sicherheitslochs bewußt, das du damit aufreißt. Ein include() via Dateisystem umgeht Zugriffskontrollen wie .htaccess-Passwortabfragen und Sessions.

        Kommentar


        • #5
          Original geschrieben von pekka
          Sei dir aber des gigantischen Sicherheitslochs bewußt, das du damit aufreißt.
          wenigstens hat es noch jemand erwähnt.
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar


          • #6
            hmm und was bedeutet das genau bzw. kann man das irgendwie verhindern? Diese Seite arbeitet doch auch mit dem Prinzip oder?


            Welche gefahren setzte ich mich und meiner Mitglieder aus?

            Also Sicherheitsrelevante Daten werden bei uns eigentlich nicht gehandhabt, wir sind einfach nur eine Fan Community eines Online Spiels.

            Kommentar


            • #7
              Hi,

              nimm doch ein Array:
              PHP-Code:
              $dateien = array(
              "start" => "start.php",
              "stop" => "stop.php");

              if (!empty(
              $_GET['path']) && array_key_exists($_GET['path'], $dateien){
                include(
              $_GET['path']);

              Offe
              Zuletzt geändert von Offe1; 13.06.2004, 17:05.

              Kommentar


              • #8
                wenigstens hat es noch jemand erwähnt.
                das wurde im forum schon so oft werwähnt. *gähn*

                Kommentar


                • #9
                  Du setzt dich der Gefahr aus, daß jede für den Webserver erreichbare Datei included werden kann - mit oft unabsehbaren Folgen. Etwas mehr Arbeit, aber viieel sicherer: Eine interne Tabelle, die eine Zuordnung zwischen Seitenname (z.B. "hauptseite") und dem entsprechenden Include herstellt. Damit fährst du immer noch recht flexibel - Du mußt bei Änderungen in der Navigationsstruktur nur die Zuordnungstabelle updaten - und sicher: Nur die in der Tabelle erwähten Dateien können included werden.

                  Beispiel:

                  Ein Array anlegen mit z.B. folgenden Werten:

                  PHP-Code:
                  $includes["hauptseite"] = "/home/hauptseite.php";
                  $includes["ueberuns"] = "/home/ueberuns.php";
                  $includes["kontakt"] = "/home/kontakt.php"
                  Beim Aufruf der index.php wird nun beispielsweise folgendes übergeben:

                  www.meineseite.de/index.php?path=hauptseite

                  In der Index.php wird die Hauptseite dann folgendermaßen eingebunden:
                  PHP-Code:
                  if file_exists($includes[$_GET["path"])
                   include 
                  $includes[$_GET["path"];
                  else 
                   die (
                  "Seite nicht gefunden!"); 

                  Kommentar


                  • #10
                    Original geschrieben von pekka
                    Du setzt dich der Gefahr aus, daß jede für den Webserver erreichbare Datei included werden kann - mit oft unabsehbaren Folgen.
                    das scheint aber schon abgefangen zu sein, denn http://www.ug-team.de/include.php?pa...p-resource.de/ liefert nur eine fehlermeldung.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Original geschrieben von TobiaZ
                      das wurde im forum schon so oft werwähnt. *gähn*
                      *zurückgähn
                      nur leider hat sich Laire nicht die mühe gemacht, ...
                      das scheint aber schon abgefangen zu sein,
                      neulich gings noch ...
                      Die Zeit hat ihre Kinder längst gefressen

                      Kommentar


                      • #12
                        Das ist meine momentane Seite, bei meinen ganzen Fragen die ich hier stelle geht es um den Neuaufbau meiner Seite und zwar ist das momentan:

                        http://www.ug-team.de/index2.php?path=include/start.php

                        und da geht das wohl noch....

                        Kommentar


                        • #13
                          Habe auch eine frage dazu

                          Kann ich den include nicht für bestimmte Ordner sperren oder nur für bestimmte zulassen??

                          zb.:
                          PHP-Code:
                          if($dir == './geheim')
                           {echo
                          "Diese Seite kann leider nicht angezeigt werden"; }
                          else {
                            include(
                          '$path') } 
                          Habe nur noch keine Idee wie man es am besten verwirklichen kann.

                          Kommentar


                          • #14
                            Re: Habe auch eine frage dazu

                            Original geschrieben von webINspirit
                            Habe nur noch keine Idee wie man es am besten verwirklichen kann.
                            mit den stringfunktionen überprüfen, ob der "richtige" ordner am anfang des pfades steht.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Wenn mans nicht in einem array sondern in einer datenbank ab speichert -> übersichtlicher (schneller?!)


                              z.B.:
                              +---+------+----+
                              | ID | Name | Url |
                              +---+------+----+

                              PHP-Code:
                              $SQL "SELECT * FROM site WHERE Name = '"$_GET['action'] ."'";
                              mysql_select_db($DB,$Conn);
                              $RS=mysql_query($SQL,$Conn);
                              while(
                              $zeile=@mysql_fetch_array($RS))
                                  {
                                  if(isset(
                              $zeile[URL])
                                      {
                                      include 
                              $zeile[URL];
                                      }
                                  } 

                              man kann dies dann auch mit einem sicherheitssystem koppeln indem man in der Tabelle noch eine Spalte macht für wen diese Seite öffenbar ist ...
                              was denkt ihr?
                              "Die Menschheit muss lernen den Krieg zu besiegen, sonst besiegt der Krieg die Menschheit!"
                              John F. Kennedy

                              Kommentar

                              Lädt...
                              X