Hallo,
Umgekehrt, das was ich aus der Datenbank zurückbekommen mit
get()
escape ich weiterhin mithtmlspecialchars()
bzwhtmlentities()
.Nein, das lässt Du hübsch als "raw"-Format unverändert. Erst wenn Du Daten an einer bestimmten Stelle in einem bestimmten Kontext (z.B. HTML) ausgibst, maskierst Du sie an eben dieser Stelle kontextgerecht.
so hatte ich ihn auch verstanden, deshalb überrascht mich dein vehementes "Nein".
// nicht so: $quark = htmlspechialchars($db->get($query['sql'], $query['params'])); echo "<html><head><title>Chat</title></head><body>$quark</body></html>"; // sondern so: $data = $db->get($query['sql'], $query['params']); echo "<html><head><title>Chat</title></head><body>",htmlspecialchars($data),"</body></html>";
Das ist didaktisch absolut richtig, aber in der Sache nur bedingt relevant. Wenn $quark etwa ausschließlich dazu dienen soll, den Wert zu speichern, um ihn an mehreren Stellen in HTML einzubauen und auszugeben, würde ich die erste Variante auch abnicken - wenn auch mit dem Hinweis: "Aber denk dran, ..."
So long,
Martin
--
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy