Seite 1 von 2
ini_restore() die x.te - Problem bei all-inkl.com!
Verfasst: Di 12. Sep 2006, 16:45
von malsdgtac
Hallo, ich habe das Forum schon nach dem Hinweis bezüglich der ini_restore() durchsucht und auch einiges gefunden, allerdings werde ich daraus nicht ganz schlau.
Ich habe heute zum ersten Mal Contenido 4.6.8 beim gleichen Provider (all-inkl.com) auf einem neuen Server installieren lassen (Konfiguration PHP5 und MySQL 5) um zu testen, ob Contenido darunter auch läuft.
Schaut eigentlich ganz gut aus, bis eben auf diese Fehlermelden (wenn ich die Module aufrufe):
Code: Alles auswählen
Warning: ini_restore() has been disabled for security reasons
In einem Beitrag habe ich gelesen, dass man diese Meldung in der functions.api.general.php in zeile 84 rauswerfen kann. Ist das so richtig? Hat dies sonst keine Auswirkungen?
Gerne möchte ich beim Provieder auch nachfragen, ob sie diese Deaktivierung nicht ausschalten können (Fragen kann man ja). Dazu würde ich euch aber zuerst gerne fragen ob eine weiter der folgenden deaktivierten Funktionen noch Probleme machen könnte:
Code: Alles auswählen
exec,system,passthru,shell_exec,popen,escapeshellcmd,proc_open,proc_nice,ini_restore
Vielen Dank für eure Hilfe, fände es super, wenn Contenido auch unter dieser Konfiguration so sauber läufen würde, wie auch sonst.
Verfasst: Di 12. Sep 2006, 16:52
von Dodger77
Ich vermute, dass die Deaktivierung von ini_restore() hiermit zu tun hat:
http://www.heise.de/newsticker/meldung/78010
Verfasst: Di 12. Sep 2006, 16:57
von emergence
die meldung wird aus der functions.mod.php kommen...
In einem Beitrag habe ich gelesen, dass man diese Meldung in der functions.api.general.php in zeile 84 rauswerfen kann. Ist das so richtig?
nein ist falsch, es wäre dann richtig wenn die fehlermeldung
Warning: ini_set() has been disabled for security reasons
lauten würde und sich exakt auf diese zeile in dieser datei bezieht...
ob eine weiter der folgenden deaktivierten Funktionen noch Probleme machen könnte:
Code: Alles auswählen
exec,system,passthru,shell_exec,popen,escapeshellcmd,proc_open,proc_nice
nur wenn du sie als php programmierer benützen möchtest... zb in einem modul
contenido verwendet diese cmd's nicht... (ini_restore wird verwendet)
Verfasst: Di 12. Sep 2006, 17:11
von malsdgtac
Na ich find das super - beim Vergleich der deaktivierten Funktionen auf diesem neuen Server und bei anderen Kunden habe ich gemerkt, dass all-inkl.com scheinbar auf allen Servern diese Funktion deaktiviert hat.
Entstehen dadurch jetzt Fehler in Contenido oder nicht?
Verfasst: Di 12. Sep 2006, 17:24
von malsdgtac
Für alle die es interssiert - bzw. betrifft:
Folgende Aussage habe ich dazu von all-inkl bekommen:
die Option ini_restore wurde durch uns deaktivert. Der Hintergrund dazu ist unter folgendem Link nachzulesen:
http://www.heise.de/security/news/meldung/78010
Bis es ein Update von PHP gibt, welches diese Sicherheitslücke schließt bleibt dies auch deaktivert. Bitte haben Sie dafür Verständnis.
Verfasst: Di 12. Sep 2006, 17:25
von KreativeStube.de
smac hat geschrieben:Für alle die es interssiert - bzw. betrifft:
Folgende Aussage habe ich dazu von all-inkl bekommen:
die Option ini_restore wurde durch uns deaktivert. Der Hintergrund dazu ist unter folgendem Link nachzulesen:
http://www.heise.de/security/news/meldung/78010
Bis es ein Update von PHP gibt, welches diese Sicherheitslücke schließt bleibt dies auch deaktivert. Bitte haben Sie dafür Verständnis.
Hi Smac,
damit hast Du mir sehr geholften. Hab den Fehler seit heute mittag auch auf einmal. Habe schon - und ist mir wirklich peinlich - vor 2 minuten dazu auch ein Thema erstellt.
VG,
Marco
Verfasst: Di 12. Sep 2006, 17:29
von mvf
KreativeStube.de hat geschrieben:Habe schon - und ist mir wirklich peinlich - vor 2 minuten dazu auch ein Thema erstellt.
entlaste das moard und lösche de beitrag solange keiner geantwortet hat
Verfasst: Di 12. Sep 2006, 17:31
von KreativeStube.de
mvf hat geschrieben:KreativeStube.de hat geschrieben:Habe schon - und ist mir wirklich peinlich - vor 2 minuten dazu auch ein Thema erstellt.
entlaste das moard und lösche de beitrag solange keiner geantwortet hat
schon geschehen
würde gerne auf die frage von smac zurückkommen ob die Deaktivierung der ini_restore() sich generell auf das CMS negativ bemerkbar macht, ausser das man eine ellenlange Fehlermeldung hat.
VG,
Marco
Verfasst: Di 12. Sep 2006, 17:47
von malsdgtac
Stimmt das ist noch wichtig.
Ich habe mich mal von der Fehlermeldung befreit:
contenido/includes/functions.mod.php
Zeile 157 und 158 habe ich einfach mal auskommentiert
Bis jetzt habe ich noch keine Einbusen bemerkt
Verfasst: Di 12. Sep 2006, 17:56
von malsdgtac
hm - wies aussieht funktioniert jetzt der Export der Module per XML nicht mehr.
Verfasst: Di 12. Sep 2006, 18:10
von i-fekt
Kann das bestätigen, habe den Fehler auch und das ist wirklich sehr sehr ärgerlich.

Verfasst: Di 12. Sep 2006, 18:26
von Dodger77
Ich habe mir das gerade mal angesehen. Die Einstellungen "error_prepend_string" und "error_append_string" werden dort so geändert, dass eventuelle PHP-Fehlermeldungen des Modulinputs oder -outputs als alt-Attribut der roten Lämpchen ausgegeben werden.
Als Workaround ließe sich auf ini_restore() verzichten. Dafür müsste man in der Datei "functions.mod.php" vor:
Code: Alles auswählen
/* To parse the error message, we prepend and
append a phperror tag in front of the output */
@ini_set("error_prepend_string","<phperror>");
@ini_set("error_append_string","</phperror>");
folgendes ergänzen:
Code: Alles auswählen
$sErs = ini_get("error_prepend_string");
$sEas = ini_get("error_append_string");
Danach noch diesen Teil hier:
Code: Alles auswählen
/* Remove the prepend and append settings */
ini_restore("error_prepend_string");
ini_restore("error_append_string");
ersetzen durch:
Code: Alles auswählen
/* Remove the prepend and append settings */
//ini_restore("error_prepend_string");
//ini_restore("error_append_string");
@ini_set("error_prepend_string",$sErs);
@ini_set("error_append_string",$sEas);
Bei mir funktioniert das soweit genauso gut wie der Originalcode, insb. der XML-Export.
Verfasst: Di 12. Sep 2006, 19:12
von stese
zur not wenn gar nix mehr hilft, kann man bei allinkl. php dateien die endung phpx geben dann haben sie keine basedir-rechte und php läuft als cgi. das ganze kann man mittels htaccess auch noch global für alle php dateien setzen:
aber wie gesagt: lieber die änderungen von dodger nehmen, dann muss man nciht die sicherheitseinstellungen vom server aushebeln
Verfasst: Mi 13. Sep 2006, 07:51
von emergence
gute änderung...
verschoben nach bugs..
Verfasst: Mi 13. Sep 2006, 08:53
von Dodger77
ini_restore() wird natürlich auch noch in der "functions.general.php" benutzt um für PHP-Versionen < 4.3.0 die Funktion von restore_include_path() zu emulieren.
Dort ließe sich das aber nicht analog regeln, soweit ich das bisher sehe.