derboo: Problem, die php.ini Ausfindig zu machen/zu dumpen.

Hallo.

Ich moechte die php.ini fuer meine Seite leicht modifizieren, kann aber dafuer die php.ini vom Anbieter nicht finden/dumpen.

Ich benutze das Script von http://tips-scripts.com/php_ini, aber immer bekomme ich nur die Meldung, dass die php.ini nicht gefunden wurde.

phpinfo Zeigt mir /etc/php.ini als Pfad an, aber auch, wenn ich das im Script eintrage, hilft es nichts.

Muss ich noch etwas davon beruecksichtigen?

Configure Command
'./configure' '--prefix=/usr/' '--datadir=/usr/share/php/' '--bindir=/usr/bin/' '--libdir=/usr/share/' '--with-exec-dir=/usr/lib/php/bin/' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php4-config' '--enable-force-cgi-redirect' '--enable-memory-limit' '--enable-sigchild' '--enable-track-vars' '--enable-trans-sid' '--with-mysql=no' '--enable-bcmath' '--enable-calendar' '--enable-ctype' '--enable-dbase' '--enable-exif' '--enable-filepro' '--enable-ftp' '--enable-magic-quotes' '--enable-mbstr-enc-trans' '--enable-mbstring' '--enable-shmop' '--enable-sysvsem' '--enable-sysvshm' '--enable-wddx' '--with-gettext' '--with-gmp' '--with-mcrypt' '--with-mcal=/usr/' '--with-iconv' '--with-mcrypt' '--with-zlib' '--with-bz2' '--with-openssl=/usr' '--with-pear' '--enable-suhosin' '--with-apxs2=/usr/sbin/apxs'

  1. Also, deine php.ini wirst du bei den meisten Anbietern nicht ändern können. Du kannst dir eingeschränkt mit ini_set() behelfen. Die von dir gewünschten Erweiterungen müssen zudem erst mal auf dem Server installiert sein.
    Bei welchem Anbieter bist du denn?

    1. Also, deine php.ini wirst du bei den meisten Anbietern nicht ändern können. Du kannst dir eingeschränkt mit ini_set() behelfen. Die von dir gewünschten Erweiterungen müssen zudem erst mal auf dem Server installiert sein.
      Bei welchem Anbieter bist du denn?

      Ich bin bei all-inkl. Es geht aber nicht direkt um Erweiterungen, ich moechte eine Instanz von Joomla bei mir installieren, und das  empfiehlt einem aus Sicherheitsgruenden folgende Parameter zu setzen:

      magic_quotes_gpc = On
      register_globals = Off

      Das ich die php.ini direkt nicht aendern kann, weiss ich, aber es ist ja moeglich, lokale php.ini-Dateien anzulegen, die dann die vom Anbieter ueberschreiben. Jedoch traue ich mir nicht zu, eine vernuenftige Konfiguration von Null auf zusammenszustellen, und wuerde deshalb gerne die von all-inkl auslesen und nur die beiden Werte aendern.

      1. echo $begrüßung;

        Ich bin bei all-inkl. Es geht aber nicht direkt um Erweiterungen, ich moechte eine Instanz von Joomla bei mir installieren, und das  empfiehlt einem aus Sicherheitsgruenden folgende Parameter zu setzen:
        magic_quotes_gpc = On
        register_globals = Off

        Ein System, das diese Einstellungen empfiehlt würde ich ungern einsetzen wollen.
        Magic Quotes sind nicht der richtige Weg, um SQL-Injections zu verhindern, weil dieses Feature zu viel Kollateralschaden macht. (Siehe auch https://forum.selfhtml.org/?t=163593&m=1065499).
        Wenn ein Script nur dann sicher ist, wenn register_globals ausgeschaltet ist, dann ist das auch recht bedenklich, sagt das doch im Prinzip aus, dass der Programmierer sich nicht um eine ordentliche Variableninitialisierung vor dem ersten lesenden Zugriff gekümmert hat.

        Beide Einstellungen lassen sich nicht mehr im Script setzen, weil diese Features schon vor dem Scriptstart ihr Unwesen treiben. Wenn dir der Provider keine Möglichkeit mitteilt, diese Werte für dein Verzeichnis umzustellen, ist das ein weiterer Grund gegen den Einsatz dieser Software.

        Das ich die php.ini direkt nicht aendern kann, weiss ich, aber es ist ja moeglich, lokale php.ini-Dateien anzulegen, die dann die vom Anbieter ueberschreiben. Jedoch traue ich mir nicht zu, eine vernuenftige Konfiguration von Null auf zusammenszustellen, und wuerde deshalb gerne die von all-inkl auslesen und nur die beiden Werte aendern.

        Ein Aufruf von phpinfo() liefert dir alle Werte, die der Provider eingestellt hat.

        echo "$verabschiedung $name";

        1. Danke fuer die Infos.

          Wie es aussieht, schlaegt das System diese Einstellungen vor, da es erweiterbar ist und vor unsicher programmierten Erweiterungen geschuetzt werden soll...

          Worauf muesste ich denn so achten, wenn ich da nur "sichere" Software, fuer die obige Einstellungen nicht noetig sind, haben will?

          1. echo $begrüßung;

            Worauf muesste ich denn so achten, wenn ich da nur "sichere" Software, fuer die obige Einstellungen nicht noetig sind, haben will?

            Nun, du müsstest entweder dem Quelltext oder den Aussagen des Programmierers vertrauen (wobei sich wohl kein ernsthafter Programmierer von sich behaupten wird, sein Code bei absolut sicher), oder du schaust dir den Quelltext an und achtest dabei mindestens darauf, wie SQL-Statements zusammengebaut werden, wie Ausgaben im HTML-Kontext behandelt werden und wie mit Variablen umgegangen wird.

            ein Beispiel zum letzten Punkt:

            foreach ($ein_array as $wert)
                $ein_string .= $wert;

            Hier wird an $ein_string jeweils der Inhalt von $wert angehängt. Dazu wird zuerst der alte Wert aus $ein_string gelesen. Gab es diese Variable vorher noch nicht - was hier beim ersten Schleifendurchlauf der Fall sein sollte - ergibt dieser Lesezugriff ein NULL, der durch die automatische Typumwandlung zu einem Leerstring mutiert. Mit register_globals kann jedoch sonstwas drinstehen, wenn jemand via GET oder POST oder COOKIE einen Parameter namens ein_string übergibt.

            $ein_string = '';
              foreach ($ein_array as $wert)
                $ein_string .= $wert;

            So ist das Konstrukt unanfällig gegen register_globals. PHP freut sich auch darüber, denn nun gibt es keine Notice-Meldung, wenn das error_reporting aus E_ALL steht.

            Wie es aussieht, schlaegt das System diese Einstellungen vor, da es erweiterbar ist und vor unsicher programmierten Erweiterungen geschuetzt werden soll...

            Dann wären diese Erweiterungen vor dem Einsatz einer Kontrolle zu unterziehen.

            Was ist, wenn jemand zufälligerweise register_globals einschaltet?

            echo "$verabschiedung $name";