Skip to content
Snippets Groups Projects
Commit b5f6e649 authored by Maxime Gosselin's avatar Maxime Gosselin
Browse files

Gestion de l'injection XSS lors de l'envoie d'un message

parent 6cb4eb26
Branches
No related tags found
No related merge requests found
...@@ -9,6 +9,9 @@ import modele.dao.DaoLike; ...@@ -9,6 +9,9 @@ import modele.dao.DaoLike;
import modele.dao.DaoMessage; import modele.dao.DaoMessage;
import modele.dto.Like; import modele.dto.Like;
import modele.dto.Message; import modele.dto.Message;
import org.apache.commons.text.StringEscapeUtils;
import org.apache.commons.text.translate.CharSequenceTranslator;
import java.io.IOException; import java.io.IOException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -17,6 +20,7 @@ import java.time.LocalDateTime; ...@@ -17,6 +20,7 @@ import java.time.LocalDateTime;
public class MessageController extends HttpServlet { public class MessageController extends HttpServlet {
DaoMessage daoMessage = new DaoMessage(); DaoMessage daoMessage = new DaoMessage();
DaoLike daoLike = new DaoLike(); DaoLike daoLike = new DaoLike();
@Override @Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String username; String username;
...@@ -30,12 +34,13 @@ public class MessageController extends HttpServlet { ...@@ -30,12 +34,13 @@ public class MessageController extends HttpServlet {
switch (action){ switch (action){
case "send": case "send":
String contenue = req.getParameter("message"); CharSequenceTranslator cst = StringEscapeUtils.ESCAPE_HTML4;
String contenu = cst.translate(req.getParameter("message"));
try { try {
int idThread = Integer.parseInt(req.getParameter("thread")); int idThread = Integer.parseInt(req.getParameter("thread"));
if (contenue != null && !contenue.isEmpty()) { if (contenu != null && !contenu.isEmpty()) {
Message message = new Message(0, username, idThread, contenue, LocalDateTime.now()); Message message = new Message(0, username, idThread, contenu, LocalDateTime.now());
daoMessage.create(message); daoMessage.create(message);
} }
vue = "thread?action=open&id=" + idThread; vue = "thread?action=open&id=" + idThread;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment