>> Inhaltsverzeichnis >> Anleitung für Entwickler >> Kochbuch

Anleitung für Entwickler

Kochbuch

Formulardaten prüfen

Wie kann ich Nutzereingaben vor der Verarbeitung säubern?

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:

  • time: UTC-Zeitcode (Typ Integer, Länge 11)

  • ip: IP-Adresse (Typ String, Länge 15)

  • mail: Mailadresse (Typ String)

  • select: wird behandelt wie „string“

  • text: wird behandelt wie „string“

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.

yana framework by:Homepage: Thomas Meyer, www.yanaframework.net