Root-Server + php.ini

S

StephanSch

Aktives Mitglied
Thread Starter
Dabei seit
24.07.2006
Beiträge
406
Reaktionspunkte
1
Ich habe einen Root-Server von Strato und habe für eine Domain in Plesk Webspace angelegt. Nun habe ich in den httpdocs Ordner eine index.php erstellt mit der ich die phpinfo aufrufe.

Nun möchte ich im selben Verzeichnis eine php.ini erstellen und ggfs. php settings überschreiben. Aber wie bekomme ich den Server überhaupt dazu, dass er die php.ini aus dem Ordner liest?
 
indem du die eigentliche php.ini durch einen symbolischen link auf die neue ini ersetzt...
nach änderungen musst du allerdings immer den apache reloaden...
 
Eine Step by Step Anleitung wäre ganz gut ;-)
 
Ne kannte ich nicht, aber scheint sehr gut zu sein. Danke schön.

Aber ich glaube ich brauche trotzdem noch ein bisschen Hilfe ;-) Gibt es irgendwo eine Anleitung im Netz? Habe mit Google nicht gescheites gefunden.
 
Zuletzt bearbeitet:
ln -s quelle ziel
d.h. wenn du z.b. die /etc/php.ini durch /var/www/php.ini verlinken willst:
ln -s /var/www/php.ini /etc/php.ini

vorher musst du /etc/php.ini noch entfernen, weil die datei nicht überschrieben wird.
 
Nun möchte ich im selben Verzeichnis eine php.ini erstellen und ggfs. php settings überschreiben.

Das das auf einem öffentlichen Server keine gute Idee ist weißt Du aber schon?
Der Pfad zur php.ini ist in den Interpreter fest einkompiliert und ließe sich nur wie oben beschrieben über einen Link verschieben. Vom Sicherheits-Aspekt ist das aber eben eine ganz schlechte Idee.
Darüber hinaus kann man einige Settings von PHP eben auch mit .htaccess-Dateien vom Apache setzen und nat. ist es möglich fast jeden Eintrag aus der INI-Datei durch PHP-Code mittels ini_get() und ini_set() zu lesen/überschreiben.
 
Ah okay cool, und inwiefern stellt das eine Sicherheitslücke dar?

So was hier funktioniert aber nicht... ini_set('allow_url_include', "1");
 
Zuletzt bearbeitet:
und inwiefern stellt das eine Sicherheitslücke dar?

Na Deine ini-Datei liegt offen auf dem Web-Server im angreifbaren htdocs-Verzeichnis oder ? Da freut sich doch jeder Hacker das Du quasi den Schlüssel im Sicherheitsschloß hast stecken lassen!

Zu Deiner Frage mit register_globals hilft die oben verlinkte Doku:

Hinweis: When querying boolean values
A boolean ini value of off will be returned as an empty string or "0" while a boolean ini value of on will be returned as "1". The function can also return the literal string of INI value.


mach da mal ein

Code:
if (ini_get('register_globals'))
 print "register_globals ist an";
else
 print "register_globals ist aus";

draus und schon ist es gut!
 
Ich habe noch ein Apache Modul gefunden: http://www.suphp.org/
Was haltet ihr davon? Damit kann man angeblich individuelle php.ini files pro Vhost anlegen.
 
wenn es denn nötig ist jedem VHost eine eigene php.ini zu geben, ist das sicher ein Mittel. Ob das aber für einen frei zugänglichen Server sicher genug ist kann ich nicht beurteilen. Es liest sich ja so als sei das in der Vergangenheit nicht so gewesen.
 
Das grundsätzliche Konzept hinter suphp deckt ja eher die Userkapselung auf vHost-/Interpreter-/Apacheebene ab. Die individuellen PHP-Settings sind ein netter Nebeneffekt. Leider ist das Modul recht langsam, suxec + php als fastcgi sind nach meinen Tests vor längerer Zeit die bessere Wahl.

Am Rande: Die php.ini gehört ebenso wenig in den Webroot wie eine phpinfo-Funktion. Allow_url_include ist auch eine mögliche Lücke (Stichwort Remote file inclusion).

Das hört sich alles nicht so an, als dass Du alleine auf einem Root rumadministrieren solltest. Das sind keine Spielzeuge...
 
Zurück
Oben Unten