Tom123: Zusätzliche php.ini "verstecken"

Hallo,
für eine spezielle PHP-Einstellung benötige eine zusätzliche php.ini in dem Verzeichnis, das auch das .php-Skript enthält. Ruft man nun mit dem Browser die php.ini direkt auf, so kann man deren Inhalt sehen. Gibt es eine Möglichkeit dies zu verhindern? Also den Output zu verhindern.

Am Webserver kann ich leider direkt nichts verändern.

Grüße
Tom123

  1. Hallo Tom123,

    Hallo,
    für eine spezielle PHP-Einstellung benötige eine zusätzliche php.ini in dem Verzeichnis, das auch das .php-Skript enthält. Ruft man nun mit dem Browser die php.ini direkt auf, so kann man deren Inhalt sehen. Gibt es eine Möglichkeit dies zu verhindern? Also den Output zu verhindern.

    Du kannst mit einer .htaccess-Datei im Verzeichnis den Zugriff verhindern.

    Jonathan

    1. Es soll ja nur der Output unterdrückt werden. Alle anderen Skripte/Dateien sollen zugänglich sein.

      Ich dachte da eher an eine Lösung wie beim PHP-Code. Nur das geparste Ergebnis geht an den Output, d.h. Befehle der php.ini nicht.

      1. Hi,

        Es soll ja nur der Output unterdrückt werden. Alle anderen Skripte/Dateien sollen zugänglich sein.

        siehe Jonathans Antwort.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. Meinte Jonathans einen .htaccess-Passwortschutz oder habe ich da was falsch verstanden?

          1. Hi,

            Meinte Jonathans einen .htaccess-Passwortschutz oder habe ich da was falsch verstanden?

            Du hast es falsch verstanden, da es keinen .htaccess-Passwortschutz gibt. Vermutlich meinst Du HTTP-Authentication. Jonathan hat jedoch lediglich die verzeichnislokale Konfigurationsdatei .htaccess angesprochen, mittels derer Du eine Vielzahl unterschiedlicher Konfigurationsmöglichkeiten hast.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
          2. Hallo,

            Meinte Jonathans einen .htaccess-Passwortschutz oder habe ich da was falsch verstanden?

            z.B. die <files>-Direktive in der .htaccess wäre geeignet, den Zugriff über HTTP zu unterbinden.

            Grüße
            P

  2. Ruft man nun mit dem Browser die php.ini direkt auf, so kann man deren Inhalt sehen.

    auch wenn ich jetzt etwas direkt bin: bist du irre (oder respektive der, der den Server konfiguriert hat)? php.ini im Browser aufrufen?

    Warum fügst du nicht gleich auf deiner Startseite die root-Zugangsdaten zum Server ein? :D

    Wenn du für ein eigenen Script zusätzliche Einstellungen benötigst, gibts zig Möglichkeiten Einstellungen zu umgehen oder Datein mit php aus einem Verzeichnis lesen zu lassen, dass nicht über den Browser erreichbar ist.

    Auch wenn du am Server selbst nix ändern kannst, gibts für die meisten Probleme eine Lösung ohne diese etwas Sicherheitsbedenkliche Idee.

    1. Es soll nur eine Zeile zur php.ini durch eine zusätzliche php.ini hinzugefügt werden. Man könnte höchstens das absolute Verzeichnis zu meinem Webspace herausfinden. Aber das will ich ja verhindern.

      1. die frage ist, was du in der zustäzlichen zeile definierst - viele dinge lassen sich auch ohne manipulation der php.ini überschreiben speicherlimit, scriptlaufzeit, fehlerausgabe usw

        1. z.B. Einbinden eines Modules für ionCube (Runtimeversion geht nicht)

          1. Moin!

            z.B. Einbinden eines Modules für ionCube (Runtimeversion geht nicht)

            Wie wäre es denn mit der Angabe der nötigen Einstellung als Flag in der .htaccess:

            php_flag Variable Einstellung

            Viele Grüße,
            Robert

            1. echo $begrüßung;

              Wie wäre es denn mit der Angabe der nötigen Einstellung als Flag in der .htaccess:
              php_flag Variable Einstellung

              Die Möglichkeit, eine php.ini im Script-Verzeichnis zur PHP-Konfiguration zu verwenden, ist nicht vereinbar mit der Möglichkeit, die PHP-Konfiguration in der Apache-Verzeichnis-Konfigurationsdatei zu beeinflussen. Für ersteres benötigt man PHP als CGI-Variante, für letzteres PHP als Apache-Modul.

              echo "$verabschiedung $name";

    2. Hi,

      Ruft man nun mit dem Browser die php.ini direkt auf, so kann man deren Inhalt sehen.
      auch wenn ich jetzt etwas direkt bin: bist du irre (oder respektive der, der den Server konfiguriert hat)? php.ini im Browser aufrufen?

      nein, er ist nicht irre, denn er will ja genau dieses Problem beheben.

      Cheatah

      --
      X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
      X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
      X-Will-Answer-Email: No
      X-Please-Search-Archive-First: Absolutely Yes
      1. Ich sehe das zwei Möglichkeiten:

        1. .ini als .php parsen und dann frühzeitig mit die() beenden
        2. mit mod_rewrite umleiten. PHP reagiert glaub mit darauf.

        Was meint Ihr? Gibt es da vielleicht noch einen einfachere und sicherere Möglichkeit?

        Tom123

        1. Hallo,

          Ich sehe da zwei Möglichkeiten:

          1. .ini als .php parsen und dann frühzeitig mit die() beenden
          2. mit mod_rewrite umleiten. PHP reagiert glaub mit darauf.

          Was meint Ihr? Gibt es da vielleicht noch einen einfachere und sicherere Möglichkeit?

          Beides nicht!
          .ini ein deny from all verpassen

          Grüße
          P

          1. Hallo Performer,
            du dachtest also an so etwas:

            <files php.ini>
            deny from all
            </files>

            Ist das so richtig?

            Gruß
            Tom123

            1. Hallo Tom,

              <files php.ini>
              deny from all
              </files>

              Ist das so richtig?

              Wahrscheinlich, hängt aber von der übergeordneten Konfiguration ab. Folgendes sollte beim Apache-Server jedoch immer funktionieren, sofern Du das konfigurieren darfst:

              <Files php.ini>  
              Order deny,allow  
              Deny from all  
              </Files>
              

              Probiere das einfach mal aus (.htaccess mit diesem Inhalt anlegen) - die php.ini sollte dann nicht mehr aufrufbar sein, Deine Scripte jedoch schon.

              Viele Grüße,
              Christian

        2. Hi,

          1. .ini als .php parsen und dann frühzeitig mit die() beenden

          damit entspräche der Inhalt der Datei nicht mehr unbedingt dem erforderlichen Format.

          1. mit mod_rewrite umleiten. PHP reagiert glaub mit darauf.

          PHP führt hier Dateizugriffe durch, der HTTP-Server wird nicht befragt. Ob mod_rewrite allerdings die Konfigurationsvariante Deines Vertrauens ist, lasse ich dahingestellt sein.

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes