Fix XSS by applying context-aware encoding

This commit is contained in:
Christos Choutouridis 2026-01-11 15:40:59 +02:00
parent 244b91677f
commit 4b5d0dd704

View File

@ -84,12 +84,17 @@ echo "<h3>List of notes/comments</h3>";
if (!empty($result) && $result->num_rows >= 1) { if (!empty($result) && $result->num_rows >= 1) {
while ($row = $result -> fetch_assoc()) { while ($row = $result -> fetch_assoc()) {
// Escape output to prevent stored XSS (DB content must be treated as untrusted).
$safe_note = htmlspecialchars($row["note"], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8");
$safe_user = htmlspecialchars($row["username"], ENT_QUOTES | ENT_SUBSTITUTE, "UTF-8");
echo "<div class='note'>"; echo "<div class='note'>";
echo "<div class='note-content'>" . $row["note"] . "</div>"; echo "<div class='note-content'>" . $safe_note . "</div>";
echo "<div class='note-signature'> by " . $row["username"] . "</div>"; echo "<div class='note-signature'> by " . $safe_user . "</div>";
echo "</div>"; echo "</div>";
} }
// Free result set // Free result set
$result -> free_result(); $result -> free_result();
} else { } else {