Ankerlink an den Anfang der Seite
pencil 602440 1920
Generic filters
Filter by Kategorien

Der Beitrag, geschriebem am 10. Januar 2017, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein

Daten die über benutzerdefinierte Felder eingehen zu validieren und zu sanitizen ist aus Sicherheitsgründen eine Pflichtmaßnahme. Mit implementierten oder selbst geschriebenen Funktionen werden hierbei Eingangsdaten geprüft und ggf. unerwünschte Bestandteile ausgefiltert. Damit wird unter anderem verhindert, dass ausführbarer Code in den Datenbestand gelangt.

Das Filtern von Feldinhalten kann nach unterschiedlichen Kriterien erfolgen, je nachdem wo die zu filternden Eingangsdaten zum Einsatz kommen. Der Wert in einem Textfeld würde beispielsweise kein HTML-Tag vertragen. Ein URL-Slug besteht günstigerweise nur aus ASCII-Zeichen, ist frei von Leerzeichen, und Großbuchstaben werden in Kleinbuchstaben umgewandelt usw.

Was aber macht man, wenn man in WordPress HTML-Code in einem Textfeld speichern und auf der der Seite als HTML ausgeben will? In diesem Fall werden HTML-Bestandteile nicht ausgefiltert, sondern escaped, bevor man sie speichert. Damit können Feldinhalte mit Tags auch als Werte in einem Textfeldes dargestellt werden (siehe Abbildung).

HTML escaped als Textfeld-Wert

Beispiel:

$output[$key] = htmlspecialchars($input[$key]);

Aus <h1>Hugo</h1> wird &lt;h1&gt;Hugo&lt;/h1&gt; So können Tags gespeichert und als Werte wiedergegeben werden, ohne die Darstellung zu beeinträchtigen.

Würde man einen solchen $Feldinhalt im Frontend ausgeben, würde das jedoch so aussehen: <h1>Hugo</h1>.
html_entity_decode($Feldinhalt,ENT_QUOTES,'UTF-8') macht wieder ein HTML-Tag draus.

Hugo

Bitte das Kommentarfeld nicht für Supportanfragen nutzen; hier kann kein Support angeboten werden. Die Angabe von Name oder E-Mail-Adresse ist optional, ein Spitzname wäre trotzdem nett.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht wird möglicherweise zur Spam-Prüfung an OpenAI (USA) weitergeleitet. Weitere Informationen finden Sie in unserer Datenschutzerklärung.