Rolf B: PHP: Bedingung wird nie erfüllt

Beitrag lesen

Hallo Robert,

  • Wenn die Bedingung einmal erfüllt ist, wird $zusatz gesetzt, es wird aber nie zurückgesetzt, falls die Bedingung nicht mehr erfüllt ist.

Good catch. Der Init muss in den while. Und könnte da zu einem ?: Operator kollabieren.

  • $zeile2[0] ist vermutlich ein Skalar, $entry1 ist ein Array.

Au weia. Natürlich. Es kommt aus fetch_array.

  • $zeile2[0] wird unbehandelt in den HTML-Kontext gesetzt. Damit besteht die Gefahr von Cross Site Scripting.

Die Forderung ist richtig, aber die Begründung kann variieren. Ob XSS-Gefahr besteht, hängt davon ab, wer die Stichworttabelle pflegt. Muss man seinem eigenen Tabellen-Admin misstrauen? Das Hauptargument ist: Es sind Daten aus einer Tabelle, die da ausgegeben werden, es könnten zum Kontext unpassende Zeichen drinstehen, also ab damit nach htmlspecialchars. Auf diese Funktion verzichtet man nur dann, wenn man weiß, dass in der Variablen HTML steht, das man als HTML ausgeben will.

Rolf

--
sumpsi - posui - obstruxi