Bei "abonierte Foren" bekomme ich erstmal einen Bildschirm voller PHP-Fehler
Hallo!

Hab' nur ich diese Fehler?

Das Fehlerhandling des Forums wirft mit PHP-Warnings um sich:

=======================================================================

Warning [2] Illegal string offset 'folder' - Line: 3 - File: usercp.php(1662) : eval()'d code PHP 5.4.21 (Linux)


File

Line

Function


/usercp.php(1662) : eval()'d code 3 errorHandler->error
/usercp.php 1662 eval
Warning [2] Illegal string offset 'folder' - Line: 3 - File: usercp.php(1662) : eval()'d code PHP 5.4.21 (Linux)


File

Line

Function


/usercp.php(1662) : eval()'d code 3 errorHandler->error
/usercp.php 1662 eval
Warning [2] Illegal string offset 'folder' - Line: 3 - File: usercp.php(1662) : eval()'d code PHP 5.4.21 (Linux)


File

Line

Function


/usercp.php(1662) : eval()'d code 3 errorHandler->error
/usercp.php 1662 eval
Warning [2] Illegal string offset 'folder' - Line: 3 - File: usercp.php(1662) : eval()'d code PHP 5.4.21 (Linux)


File

Line

Function


/usercp.php(1662) : eval()'d code 3 errorHandler->error
/usercp.php 1662 eval
Warning [2] Illegal string offset 'folder' - Line: 3 - File: usercp.php(1662) : eval()'d code PHP 5.4.21 (Linux)


File

Line

Function


/usercp.php(1662) : eval()'d code 3 errorHandler->error
/usercp.php 1662 eval
Warning [2] Illegal string offset 'folder' - Line: 3 - File: usercp.php(1662) : eval()'d code PHP 5.4.21 (Linux)


File

Line

Function


/usercp.php(1662) : eval()'d code 3 errorHandler->error
/usercp.php 1662 eval
Warning [2] Illegal string offset 'folder' - Line: 3 - File: usercp.php(1662) : eval()'d code PHP 5.4.21 (Linux)


File

Line

Function


/usercp.php(1662) : eval()'d code 3 errorHandler->error
/usercp.php 1662 eval
Warning [2] Illegal string offset 'folder' - Line: 3 - File: usercp.php(1662) : eval()'d code PHP 5.4.21 (Linux)


File

Line

Function


/usercp.php(1662) : eval()'d code 3 errorHandler->error
/usercp.php 1662 eval
Zitieren
Unschön. Danke für die Meldung.
Es sind übrigens nur Warnings, das kann man ignorieren, technisch läuft alles.

Gruß
lw
Für jedes Problem gibt es eine Lösung, die einfach, klar und falsch ist.
(Henry Louis Mencken)
Zitieren
Hallo!

Klar es geht ja auch - schon seit Monaten. Es sind ja auch keine Warnings direkt von PHP - die könnte man ja per php.ini abstellen - sieht mehr nach dem Errorhandler des BBScripts aus... . Vielleicht sind in meinen Daten der Usertabelle ja noch irgendwelche Referenzen auf Foren aus einer alten Struktur hängengeblieben (bin ja auch schon ein paar Jährchen dabei und habe ein paar Migrationen mitgemacht...) - jedenfalls würde ich da als erstes suchen... .

Grüße

Nomad
(der üblicherweise auf der anderen Seite der Fehlersuche sitzt...;-)
Zitieren
Hallo,

habe ich auch. Es wird leider immer länger je mehr Foren ich abonniere.
Siehe Screenshot im Anhang.

Grüße
peterPowers
Zitieren
Moin...

Erstens: klar sind das warnings von PHP... Schließlich werden warnings über php-code ausgegeben, wer sollte das denn machen ausser der php-interpreter? Ich gehe davon aus, dass die forensoftware in irgendeinem configfile den errorlevel aus der PHP.INI oder .htaccess wieder ändert... Funktion hierfür wäre ini_set() oder error_reoporting()...

Zweitens: es ist generell bedenklich wenn sowas in livesystemen passiert! Eure php-version wird ausgeplaudert... Sollte es exploits oder Lücken geben, ist der angriff vorprogrammiert...

Drittens: eval??! Das ist das Nonplusultra an donts!! Hoffe der filter ist gut, bevor da code an die Funktion über geben wird! Eval führt nämlich stupide den code aus, ohne irgendwelche prüfungen... Stichwort XSS, Crosssitescripting...

Justmy2cents
Zitieren
(13.11.2013, 06:45)SchnelleEntspannung schrieb: Drittens: eval??! Das ist das Nonplusultra an donts!!
Da hast Dich aber noch nicht viel mit PHP (Forensoftware) beschäftigt ?
Es gibt keine die die Templates nicht über eval abwickelt.
Für jedes Problem gibt es eine Lösung, die einfach, klar und falsch ist.
(Henry Louis Mencken)
Zitieren
Ähm... Jede Software, die z.b. auf direkte php-templates setzt? Ne, ich kenne reine forensoftware nicht gut, komme aus der cms-ecke und da ist man mit smarty, Twig und Co. etwas weiter ;-)
Warum muss man egal nutzen? Der Beitrag ist statisch....einmal durch eine templateengine geparst (nicht geevalt) und schon hat man eine nette - ungefährliche - HTML Datei...
Zitieren
Durchsatz. Beim eval werden die inline Variablen im Template auf "natürlichem" Wege ersetzt.
$blub='hallo';
eval("$out=\"ganz viel Text: {$blub}\"");

-> ganz viel Text: hallo

geht wesentlich schneller als jeder regexpt mit search & replace. Du musst Dir mal den Code von smarty anschauen. Ist n ganz schöner Wirbel um eval nicht zu benutzen.
Für jedes Problem gibt es eine Lösung, die einfach, klar und falsch ist.
(Henry Louis Mencken)
Zitieren
Das mag sein, aber dafür cached smarty... Und Fehler im parser können abgefangen werden...
Zitieren
Hallo Zusammen,
Ihr scheint es geschafft zu haben, bei mir sieht alles sauber aus.
Beifall Beifall Beifall
Gruß
peterPowers
Zitieren
Hach, wie ich diese Dispute genieße... am liebsten würde ich auch noch meinen Senf dazu geben... Wanker beherrsch Dich!Engel

(13.11.2013, 06:45)SchnelleEntspannung schrieb: eval??! Das ist das Nonplusultra an donts!!

(13.11.2013, 09:55)Lustwandel schrieb: Durchsatz. Beim eval ...geht wesentlich schneller als jeder regexpt ...

Mist, jetzt schreib ich doch... Schuldig

Natürlich habt ihr beide Recht. eval() ist evil. Template-Engines sind langsam. Jetzt müssen wir nur noch auslosen, wessen Argument schwerer wiegt. Also ich würde sagen, das die Forumsoftware nach 10+ Jahren Überleben im Internet gut genug bewiesen hat, das man eval() auch sicher nutzen kann. Das Risiko scheint kalkulierbar, vor allem wenn man die guten Admins, die schnell reagieren, mit einrechnet. Der Nutzen, diesen 'Battle-proven' Forums-Code mit Smarty zu verlangsamen, erschließt sich mir nicht direkt... Schließlich wollen wir hier über Sex reden, und nicht neue, bessere Forumsoftware entwickeln.

Aber da das Problem von peterPorwers jetzt gelöst ist, sollten wir den Thread vielleicht besser schließen? Flames dann bitte per PM ;-)

Gruß,
Wanker
Zitieren