-----Ursprüngliche Nachricht----- Von: Christian Boltz [mailto:cb.suse@wein-vin-vinum.net] Gesendet: Mittwoch, 19. November 2003 23:59 An: suse-linux@suse.com Betreff: Re: Apache2, phpMyAdmin u. MySQL
Hallo Gerald, hallo Leute,
Am Mittwoch, 19. November 2003 12:44 schrieb Gerald Engl:
[diverse Config-Optionen für Apache2 & co, passt soweit]
In der /etc/php.ini ggf. :
register_globals = On
NEEEEEIIIIIIIIINNNNNNNNN!!!!!!!!!!!!!!
Schreib Deine PHP-Scripte so, dass sie auf $_GET, $_POST usw. zugreifen. register_globals ist nicht ohne Grund seit einigen PHP-Versionen von Haus aus abgeschaltet - bei unsicher geschriebenen Scripten (nicht initialisierte Variablen) kann man sich einige Sicherheitsprobleme einhandeln!
Meine Empfehlung: register_globals = off lassen und zusätzlich error_reporting = E_ALL (_ohne_ "& ~E_NOTICE") setzen.
Das gibt wirklich sauberen PHP-Code und erleichtert die Fehlersuche, weil z. B. auch nicht initialisierte Variablen angezeigt werden. Auf diese Weise habe ich schon etliche Typos in Rekordzeit gefunden ;-) Auch die Umstellung auf register_globals = off fällt mit error_reporting = E_ALL wesentlich leichter :-))
So, jetzt zum Problem "ich habe aber noch alte Scripte..." Man kann register_globals auch spezifisch für ein Verzeichnis aktivieren, wenn ein altes Script es unbedingt erfordert:
php_flag register_globals on </Directory> Christian Boltz
Ein sehr guter Hinweis, danke. Ich musste bei mir die Änderungen in der /etc/sysconfig/apache2 machen. (SuSE 8.2) Unter dem Punkt "APACHE_MODULES" einfach noch "libphp4" in die Liste einfügen. Die Mime-Types hatte ich vorher schon gesetzt, aber er wollte einfach nicht parsen... Also noch mal in Kürze: Dies in die httpd.conf: AddType application/x-httpd-php .php .phtml AddType application/x-httpd-php-source .phps Und in die /etc/sysconfig/apache2 dies noch unter APACHE_MODULES hinzufügen: libphp4 Viel Erfolg! Paul