Übergebene Variablen bereinigen

Vom Besucher eingegebene Daten sind prinzipiell nicht zu trauen! Daher sollten alle Daten überprüft und bereinigt werden.

Um dies einfach zu ermöglichen, gibt es in PHP die praktische Funktion array_walk und array_walk_recursive.

Wir können über strip_tags alle HTML und PHP-Tags entfernen lassen (mit Einschränkungen). Allerdings kann es bei der Art vorkommen, das weiterer Text gelöscht wird, wenn der übergebene Text fehlerhaft war.

Im einem Schritt wandeln wir Sonderzeichen in HTML-Codes um. Aus < (kleiner als) wird dann '&lt;'

Im letzten Schritt werden die Leerzeichen am Anfang und Ende entfernt.

array_walk ( $_POST,    'eingabebereinigen' );
array_walk ( $_GET,     'eingabebereinigen' );
array_walk ( $_REQUEST, 'eingabebereinigen' );

function eingabebereinigen(&$value, $key)
{
  // keine HTML-Tags erlaubt, außer p und br
  // $value = strip_tags($value, '<p><br>'); 

  // HTML-Tags maskieren
  $value = htmlspecialchars($value, ENT_QUOTES);

  // Leerzeichen am Anfang und Ende beseitigen
  $value = trim($value);
}