0 votes
in SoSci Survey (dt.) by s073135 (320 points)

Hallo!

Gibt es die Möglichkeit, PHP-Fehlermeldungen in laufenden Erhebungen zu unterdrücken?

Ich frage, da ich mehrere Zehntausend Zeichen Code auf wenige Zeilen minimiert habe. Im Falle einer PHP-Fehlermeldung wird somit dann ein Großteil des Codes den Befragten offengelegt. Natürlich optimiere ich den Code immer weiter, doch ganz ausschließen lassen sich solche Fehler nicht - und sei es nur, dass ein SoSci-Update dies "verursacht".

Hilfreich wäre schon, wenn der ausgegebene Code auf beispielsweise 25 Zeichen begrenzt wird. Denn im Zweifelsfall kann ja jede normale Zeile in herkömmlicher Länge sensiblen Quelltext enthalten.

Danke!

2 Answers

0 votes
by s073135 (320 points)
selected by s073135
 
Best answer

![][1]
[1]: https://support.soscisurvey.de/?qa=blob&qa_blobid=5333657454127678420

Ich habe nun mal eine Fehlermeldung provoziert, indem ich den Befehl option() einfach falsch geschrieben habe. Der Quelltext der daraufhin in Zeile 3 ausgegeben wird ist über 10.000 Zeichen lang. Von sensiblen Informationen spreche ich, da es sich um Hochschulprüfungen handelt. Ich möchte an dieser Stelle nicht ins Detail gehen und hoffe dass klar ist, das der Code daher nicht "öffentlich" sein sollte.

Eine detaillierte Fehlermeldung im Vorschaumodus finde ich vollkommen sinnvoll. Nicht jedoch - wie in diesem Fall - während einer laufenden Prüfung. Hier fände ich die Fehlermeldung 'auf Seite X in Zeile Y wurde eine Funktion soption() verwendet die es nicht gibt" vollkommen ausreichend.

Ich erinnere mich übrigens an den Fall, in dem erst ein SoSci-Update zu Fehlern in der Ausführung führte (Dummy-Variable die ausschließlich aus Nullen bestand und das Script hat diese als führende Nullen gestrichen). Ich lebe also grundsätzlich mit dem Risiko, dass irgendein Codebestandteil plötzlich nicht mehr funktioniert. Ganz egal wer oder was Fehler verursacht, sie passieren einfach ab und an. Den Quellcode wüsste ich gerne dennoch geschützt.

Ich hoffe, die Situation ist somit klare ?!

by SoSci Survey (302k points)
Dankeschön. Wenn ich den Screenshot und Ihre Antwort korrekt deute, dann liegt das Problem darin, dass Sie sehr lange Zeilen verwenden, Ihnen eine Einschränkung der Anzahl von Zeilen also nichts bringt. Ist das korrekt?

Mein erster Gedanke dazu wäre, dass solch umfangreiche Informationen wahrscheinlich besser in der "Datenbank für Inhalte" aufgehoben wären oder in einem Array, das in einer Funktion unter "PHP-Funktionen" definiert wird als direkt im PHP-Code der Seite.

> Hier fände ich die Fehlermeldung 'auf Seite X in Zeile Y wurde eine Funktion soption() verwendet die es nicht gibt" vollkommen ausreichend.

Das ist nachvollziehbar, danke für die Erklärung. Ich denke, den PHP-Code in diesem Fall auszublenden, sollte nicht weiter problematisch sein. Ich sehe mal zu, dass sich da bis nächste Woche etwas tut.
by SoSci Survey (302k points)
Auf www.soscisurvey.de ist nun ein Update installiert, welches den PHP-Code nur noch in "Administrator-Interviews" anzeigt, nicht mehr in regulären Interviews (MODE=interview)
by s073135 (320 points)
"This is an error which dows not allow to show the PHP code."
==> Perfekt, HERZLICHEN DANK!
0 votes
by SoSci Survey (302k points)

Gibt es die Möglichkeit, PHP-Fehlermeldungen in laufenden Erhebungen zu unterdrücken?

Fehlermeldungen sind dafür da, dass man kritische Fehler (die potenziell die Erhebung stören) erkennt und beheben kann. Darüber hinaus zeigt SoSci Survey noch Hinweise (gelb) und Warnungen (orange), welche nur für die Projektleitung sichtbar sind.

Natürlich optimiere ich den Code immer weiter, doch ganz ausschließen lassen sich solche Fehler nicht

Eigentlich schon ... ein ordentlicher Code sollte ja den Typ und Wertebereich seiner Variablen kennen und prüfen.

dann ein Großteil des Codes den Befragten offengelegt.

Wenn etwas schief läuft, was einen Fehler verursacht, dann wird das Interview ohnehin für die Tonne sein. Ob die Befragten dann noch PHP-Code sehen, wird da keinen Unterschied mehr machen. Mehr als 7 Zeilen sollten aber bei non-fatal errors ohnehin nicht angezeigt werden. Und bei fatal errors ist das Interview definitiv zu Ende.

Von was für Fehlern sprechen wir denn konkret? Ich tue mich gerade schwer, mir einen Code vorzustellen, der das von Ihnen beschriebe Verhalten zeigt, was aber nicht ohnehin massiven Einfluss auf das Interview hätte? Ich hatte in den letzten Jahren auch eigentlich immer nur mit Fehlermeldungen zu tun, die man ohnehin beseitigen musste.

Wenn Sie sich Sorgen machen, dass "zu viel" Code angezeigt wird, können Sie Teile des Codes generell auch in Funktionen auslagern, die Sie dann unter "PHP-Funktionen" definieren. Davon sollte eigentlich in der Ausgabe nichts erscheinen.

Denn im Zweifelsfall kann ja jede normale Zeile in herkömmlicher Länge sensiblen Quelltext enthalten.

Der PHP-Code in SoSci Survey dient normalerweise der Steuerung des Interview-Verlaufs. Das ist in den (vielen) Befragungsprojekten, mit denen ich zu tun hatte, eigentlich nie sensibel gewesen im Sinne von "wäre schlecht, wenn das öffentlich wird". Könnten Sie mir vielleicht ein paar mehr Hintergrundinformationen geben, damit ich Ihren Anwendungsfall besser einordnen kann? Dann sollte sich da eine sinnvolle Lösung finden lassen. Mir sit an einer Lösung gelegen, welche der Projektleitung genug Informationen liefert, um Probleme zu beheben, aber das muss natürlich nicht heißen, dass die Befragten etwas von der Technik sehen müssen.

by s073135 (320 points)
Hallo - ich möchte nochmals an diesen Thread erinnern und um eine Reaktion auf meien letzte Antwort bitten.

DANKE!
by SoSci Survey (302k points)
Danke. Wenn Sie in Kommentaren antworten, sehen wir diese in der Liste neuer Fragen - bei zusätzlichen Antworten ist das nicht der Fall :)

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...