php.ini mit minmal"rechten"
Manuel B.
- php
Ich grüsse den Cosmos,
da ich einige Scripte so schreiben will, das diese auf möglichst allen Servern laufen, will ich meine Testumgebung so konfigurieren das möglichst wenig freiheiten für PHP vorhanden sind.
register_globals ist klar,
short_opentags ist auch klar
Was sollte ich noch alles deaktivieren, um quasi in einer Extremsituation testen zu können?
Ich teste zwar auf PHP 5.2.0, hab aber noch PHP4 installiert und aktivier das Ganze bei Bedarf.
Möge das "Self" mit euch sein
Moin!
Ich grüsse den Cosmos,
Gruß zurück ;-)
da ich einige Scripte so schreiben will, das diese auf möglichst allen Servern laufen, will ich meine Testumgebung so konfigurieren das möglichst wenig freiheiten für PHP vorhanden sind.
Kleiner Vorteil: Dein Skript ist dann nicht nur äußerst portabel, sondern auch relativ sicher und weist eine hohe Codequalität auf.
register_globals ist klar,
short_opentags ist auch klar
Achja, zwei altbekannte Unannehmlichkeiten in PHP …
Was sollte ich noch alles deaktivieren, um quasi in einer Extremsituation testen zu können?
magic_quotes*
error_reporting
evtl. safe_mode*
arg_separator.*
default_mimetype
default_charset
fopen wrappers
Viele Grüße,
Robert
Ich grüsse den Cosmos,
Kleiner Vorteil: Dein Skript ist dann nicht nur äußerst portabel, sondern auch relativ sicher und weist eine hohe Codequalität auf.
Ist einer der Beweggründe. Da ein grosses Projekt ansteht, bei dem es u.a. um Sicherheit geht, ist mir das ebenfalls sehr wichtig.
magic_quotes*
error_reporting
evtl. safe_mode*
arg_separator.*
default_mimetype
default_charset
fopen wrappers
safemod ist eh aktiv, da ich mit PHP-CGI arbeite. Charset gibts auch kein Default. Den Rest werd ich mir ansehen. Danke für den Tipp. Wenn noch jemand was weiss, immer her mit Infos ;)
Möge das "Self" mit euch sein
echo $begrüßung;
safemod ist eh aktiv, da ich mit PHP-CGI arbeite.
Der Safe Mode ist in der CGI-Variante nicht automatisch aktiv. Andererseits bringt es auch keine Punkte, den unter CGI zu aktivieren, da man mit CGI bessere Möglichkeiten gibt, die dem Safe Mode zugeteilten Aufgaben zu erfüllen. Außerdem kann sich bei CGI jeder seine eigene php.ini in das Script-Verzeichnis legen und den Safe Mode deaktivieren.
echo "$verabschiedung $name";
Ich grüsse den Cosmos,
echo $begrüßung;
safemod ist eh aktiv, da ich mit PHP-CGI arbeite.
Der Safe Mode ist in der CGI-Variante nicht automatisch aktiv.
Schon klar. Ich hab den Standardmässig aktiviert, wollte ich damit ausdrücke.n
Andererseits bringt es auch keine Punkte, den unter CGI zu aktivieren, da man mit CGI bessere Möglichkeiten gibt, die dem Safe Mode zugeteilten Aufgaben zu erfüllen.
Hast du auch recht. suPHP tut einiges dazu. Die aktivierung hat den Hintergrund, damti ich gezwungen bin, meine Scripte so zu schreiben, das sie auch bei safe_mode on funktionieren.
Außerdem kann sich bei CGI jeder seine eigene php.ini in das Script-Verzeichnis legen und den Safe Mode deaktivieren.
Was der User dann in seinem Verzeichnis macht, ist seine Sache, aber erstmal soll das Script mit einer "minimalen" php.ini laufen, ohne das jemand an den Einstellungen rumschrauben muss.
Möge das "Self" mit euch sein
Hello,
magic_quotes*
error_reporting
evtl. safe_mode*
arg_separator.*
default_mimetype
default_charset
fopen wrappers
Da Du mit CGI arbeitest, wahrscheinlich nicht relevant, aber sonst:
open_basedir das ist fast die wichtigste Einstellung im Modul-Modus
upload_temp_dir
session.save_path muss für jede Domain ein eigener sein, sonst kann der PHP-Programmierer
die Sessions der anderen Mitnutzer entführen
save_mode_exec_dir nur Tools reinpüacken, die auch sicher sind
disable_functions sehr nützlich, wenn man nicht alles zulassen will, auch wenn der
safe-mode nicht aktiviert ist.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom