check_plain wandelt <p> und <strong> in Sonderzeichen um - Sind die Eingaben nicht in UTF8?
Eingetragen von DrupalFan (1646)
am 15.04.2010 - 16:48 Uhr in
am 15.04.2010 - 16:48 Uhr in
Wenn ich in einer node-story.tpl.php den Teaser oder Body-Test mit
check_plain($node->content['body']['#value'])
ausgebe, dann wandelt mir check_plain <strong> und <p>
usw. in Sonderzeichen um, z. Bsp. <P><STRONG>
Dies führt dazu, dass das dann keine html-Tags mehr sind, sondern normaler Text und daher erscheinen auch <p> und <strong>
im Text.
Warum kann ich hier kein check_plain verwenden???
Es handelt sich dabei um Eingaben, die mit einem Richtext-Editor gemacht worden sind (TinyMCE). Heißt das nun, dass diese Eingaben nicht im UTF-8 Format vorliegen? Was heißt das genau und wie kann ich ein check_plain anwenden, so dass es klappt?
Danke.
- Anmelden oder Registrieren um Kommentare zu schreiben
Fragen
am 15.04.2010 - 16:56 Uhr
<p>
und<strong>
ausfiltern? Warum machst du das nicht per string_tags, wie du bereits in deinem anderen Thread herausgefunden hast?Sicher programmieren
am 15.04.2010 - 17:49 Uhr
Oh, sorry, Du hast recht, ich glaube, ich hab das was übersehen.
Ich glaub, das ist schon alles okay so, war ein Denkfehler von mir.
Aber noch dazu folgendes:
Ich überlege gerade, wie ich die Sicherheit erhöhen kann und wollte wissen, was man alles beachten muss, wenn man in vielen tpl.php-Dateien programmiert (CCK-Felder ausgeben, Template umgestalten, usw) und teilweise auch direkt in Nodes PHP-Code eingibt.
Dabei ist mir check_plain eingefallen und wollte es gleich anwenden, aber anscheinend am falschen Platz.
Also alle Text-Eingaben, die reiner Text sein sollen, kann man mit check_plain absichern. Ist das nun sicher?
Und Artikeltext-Eingaben mit Richtext-Editor kann man dann ev. mit strip_tags absichern oder ev. mit dem Modul WYSIWYG-Filter (hat nicht auf Anhieb geklappt, daher dzt. nicht in Verwendung).
Aber was sollte man, wenn es um die Sicherheit geht, bei der Programmierung in tpl-Dateien außer oben genanntem noch beachten?
Der Textkörper aka body hat
am 15.04.2010 - 18:42 Uhr
Der Textkörper aka body hat schon seine Variable in der node.tpl. Und CCK-Felder haben auch ein bereits gereinigten Wert im Node-Object. Und für Eingaben die HTML enthalten dürfen, verwendet man http://api.drupal.org/api/function/check_markup/6.
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.