ini_restore() die x.te - Problem bei all-inkl.com!

malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

ini_restore() die x.te - Problem bei all-inkl.com!

Beitrag 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.
Zuletzt geändert von malsdgtac am Di 12. Sep 2006, 17:26, insgesamt 1-mal geändert.
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag von Dodger77 »

Ich vermute, dass die Deaktivierung von ini_restore() hiermit zu tun hat:

http://www.heise.de/newsticker/meldung/78010
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag 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)
*** make your own tools (wishlist :: thx)
malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Beitrag 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?
malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Beitrag 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.
KreativeStube.de
Beiträge: 30
Registriert: Di 12. Sep 2006, 17:13
Kontaktdaten:

Beitrag 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
mvf
Beiträge: 1758
Registriert: Mo 1. Aug 2005, 00:35
Wohnort: in der schönen Hallertau, mitten im Hopfen
Kontaktdaten:

Beitrag 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
Grüsse, Guido

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Mostly Harmless - Douglas Adams
KreativeStube.de
Beiträge: 30
Registriert: Di 12. Sep 2006, 17:13
Kontaktdaten:

Beitrag 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
malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Beitrag 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
malsdgtac
Beiträge: 717
Registriert: Fr 12. Mär 2004, 15:50
Kontaktdaten:

Beitrag von malsdgtac »

hm - wies aussieht funktioniert jetzt der Export der Module per XML nicht mehr.
i-fekt
Beiträge: 1520
Registriert: Mo 3. Jan 2005, 02:15
Wohnort: Chemnitz
Kontaktdaten:

Beitrag von i-fekt »

Kann das bestätigen, habe den Fehler auch und das ist wirklich sehr sehr ärgerlich. :evil:
Gruss,
Michael

"Keep on riding this Bike!" (Jackson Mulham)
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag 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.
stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag 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:

Code: Alles auswählen

AddHandler php-cgi .php .php4
aber wie gesagt: lieber die änderungen von dodger nehmen, dann muss man nciht die sicherheitseinstellungen vom server aushebeln
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

gute änderung...

verschoben nach bugs..
*** make your own tools (wishlist :: thx)
Dodger77
Beiträge: 3626
Registriert: Di 12. Okt 2004, 20:00
Wohnort: Voerde (Niederrhein)
Kontaktdaten:

Beitrag 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.
Gesperrt