Zu diesem Zweck bietet Ihnen YANA die Funktion untaintInput().
Die Funktion verfügt über folgende Parameter:
Parameter |
Typ |
Default |
Beschreibung |
---|---|---|---|
value | mixed | n/a | zu säuberndes Datum |
type | string | "" |
Datentyp Neben den von PHP unterstützten nativen Typen sind noch folgende Werte erlaubt:
|
length | integer | 0 | Maximale Länge des Datums |
escape | integer | 0 | siehe Tabelle |
Parameterliste untaintInput
Der Parameter $escape kann mit einer der folgenden Konstanten belegt werden.
Bezeichner | Beschreibung |
---|---|
YANA_ESCAPE_NONE | keine Änderungen durchführen (Default) |
YANA_ESCAPE_SLASHED | wandelt einfache und doppelte Anführungszeichen in ihre entsprechenden Escapesequenzen in C-Syntax um |
YANA_ESCAPE_TOKEN | ersetzt enthaltene Token durch ihre HTML-Entities |
YANA_ESCAPE_CODED | ersetzt HTML-Symbole, beispielsweise Tagklammern, durch Entities |
YANA_ESCAPE_LINEBREAK | wandelt alle Whitespace-Zeichen (insbesondere Zeilenumbrüche) in Leerzeichen um |
YANA_ESCAPE_USERTEXT | zur Behandlung von Text aus Textarea-Feldern |
Gültige Belegungen für den Parameter $escape der Funktion untaintInput
Für INPUT-Felder sollten Sie stets die Funktion untaintInput() mit dem Parameter YANA_ESCAPE_LINEBREAK aufrufen. Das verhindert, dass ein Angreifer Zeilenumbrüche in Ihre Ausgabe schmuggelt. Für TEXTAREA-Felder sollten Sie den Parameter YANA_ESCAPE_USERTEXT verwenden. Dieser verhindert viele Formen von Flooding, indem Zeichenfolgen die sich ständig wiederholen (Copy'n'Paste Flooding) entfernt werden, oder zum Beispiel ellenlange Texte oder Leerzeichen nach einer bestimmten Anzahl von Leerzeichen per Zwang umgebrochen werden, um das Layout Ihrer Seite nicht zu zerstören.
Thomas Meyer, www.yanaframework.net