Skip to content

Commit f4e4c97

Browse files
committed
fixed bug of html injection XSS
1 parent 855deca commit f4e4c97

1 file changed

Lines changed: 23 additions & 8 deletions

File tree

‎chat-app/frontEnd/script.js‎

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,29 @@ function appendMessages(messages) {
6969

7070
const div = document.createElement("div");
7171
div.className = `message ${role}`;
72-
div.innerHTML = `
73-
<span class="sender-name">${message.sender}</span>
74-
<p>${message.message}</p>
75-
<div class="reaction-row">
76-
<button class="reaction-button like-button" data-id="${message.id}">👍 ${message.likes || 0}</button>
77-
<button class="reaction-button dislike-button" data-id="${message.id}">👎 ${message.dislikes || 0}</button>
78-
</div>
79-
`;
72+
73+
const senderName = document.createElement("span");
74+
senderName.className = "sender-name";
75+
senderName.textContent = message.sender;
76+
77+
const text = document.createElement("p");
78+
text.textContent = message.message;
79+
80+
const reactionRow = document.createElement("div");
81+
reactionRow.className = "reaction-row";
82+
83+
const likeButton = document.createElement("button");
84+
likeButton.className = "reaction-button like-button";
85+
likeButton.dataset.id = message.id;
86+
likeButton.textContent = `👍 ${message.likes || 0}`;
87+
88+
const dislikeButton = document.createElement("button");
89+
dislikeButton.className = "reaction-button dislike-button";
90+
dislikeButton.dataset.id = message.id;
91+
dislikeButton.textContent = `👎 ${message.dislikes || 0}`;
92+
93+
reactionRow.append(likeButton, dislikeButton);
94+
div.append(senderName, text, reactionRow);
8095
messagesContainer.appendChild(div);
8196
});
8297

0 commit comments

Comments
 (0)