Ankündigung

Einklappen
Keine Ankündigung bisher.

Sicherheit von $_GET

Einklappen

Neue Werbung 2019

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

  • Sicherheit von $_GET

    Hallo Leute, ich bin ganz neu hier, und hab da auch schon mal eine dringende Frage. Ich hoffe da kann mir jemand helfen


    Ich möchte auf einer Seite variaben den Inhalt von anderen Seiten anzeigen lassen.
    Dazu möchte ich auf dieser Seite mit

    include($_GET[xy].".php");

    das anzeigen lassen was auf einer anderen Seite über einen Link definiert wird:

    a href="showpage.php?xy=inhalt1".

    Wie kann ich verhindern, daß irgendjemand im Browser statt inhalt1 irgendwas anderes schreibt und damit eine andere Datei in meine Seite lädt.

    Hilft da die Einstellung von REGISTER_GLOBALS im PHP?

    Danke für Eure Hilfe.
    Misternike

  • #2
    indem du auf keinen fall $_GET vertraust sondern beispielsweise sowas bastelst wie hier beschrieben:

    http://www.phpfriend.de/forum/ftopic63636.html#439698

    register_globals hat damit garnichts zu tun

    Kommentar


    • #3
      include von aussen

      Kann man einen PHP Server nicht so einstellen, daß er bei include nur lokale Dateien zuläßt?
      Bei meinem Provider kann ich nur Dateien mit include einbinden die auf dem Server liegen. Daher dachte ich, daß das standartmäßg so voreingestellt ist?

      Kommentar


      • #4
        Re: include von aussen

        Zitat von inn2web
        Kann man einen PHP Server nicht so einstellen, daß er bei include nur lokale Dateien zuläßt?
        Bei meinem Provider kann ich nur Dateien mit include einbinden die auf dem Server liegen. Daher dachte ich, daß das standartmäßg so voreingestellt ist?
        nur weil eine Datei lokal ist, heißt das noch lange nicht, dass man sie includen können soll und damit die Daten dem User präsentiert, damit schaffst du dir nur ein potentielles Sicherheitsrisiko, wenn du später beispielsweise irgendwann ne ini, xml oder sonstwas als Config nutzt und die wird includet und dargestellt, kommt man direkt an deine datenbank-zugangsdaten oder sonstwas ran.

        Kommentar


        • #5
          Re: include von aussen

          Zitat von robo47
          nur weil eine Datei lokal ist, heißt das noch lange nicht, dass man sie includen können soll und damit die Daten dem User präsentiert, damit schaffst du dir nur ein potentielles Sicherheitsrisiko, wenn du später beispielsweise irgendwann ne ini, xml oder sonstwas als Config nutzt und die wird includet und dargestellt, kommt man direkt an deine datenbank-zugangsdaten oder sonstwas ran.

          Du meinst es könnte jemand auf gut Glück versuchen über den ganz oben beschriebenen code die Datei config.ini.php sichtbar zu machen (heißt ja doch ofters so) Ist mir schon klar, daß das tötlich wäre.

          Meine Frage war aber prinzipiell, ob man durch Servereinstellungen verhindern kann, daß eine Datei die auf einem anderen Server liegt, mittels include eingebunden wird.

          Kommentar


          • #6
            Re: include von aussen

            Zitat von inn2web
            Meine Frage war aber prinzipiell, ob man durch Servereinstellungen verhindern kann, daß eine Datei die auf einem anderen Server liegt, mittels include eingebunden wird.
            Seit PHP 5.1 (?) gibt es die Einstellung allow_url_include. Außerdem gibt es noch allow_url_fopen.

            Kommentar


            • #7
              Meine Frage war aber prinzipiell, ob man durch Servereinstellungen verhindern kann, daß eine Datei die auf einem anderen Server liegt, mittels include eingebunden wird.
              Ja, gibt es:
              allow_url_fopen = 0
              allow_url_include = 0
              Bei letzterem bin ich mir gerade nicht sicher, da ich nicht an meinem Entwicklungs-PC sitze. Hier hilft dir das Manual auf php.net weiter. Letzteres solltest du ohnehin öfter konsultieren, dann erübrigen sich manche Fragen ganz von alleine!

              Kommentar

              Lädt...
              X