From 5cd43efb063f6aa63376e68105e35adbc652c607 Mon Sep 17 00:00:00 2001 From: Adrien <adrien.fryson@outlook.com> Date: Fri, 28 Feb 2025 10:07:09 +0100 Subject: [PATCH] =?UTF-8?q?erreur=20mauvais=20login/password,=20securisati?= =?UTF-8?q?on=20des=20champs=20entr=C3=A9s=20par=20l'utilisateur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sae/WEB-INF/src/controleur/Accueil.java | 3 +-- sae/WEB-INF/src/controleur/EnvoyerMessage.java | 6 ++++-- sae/WEB-INF/src/controleur/Login.java | 2 ++ sae/WEB-INF/vue/accueil.jsp | 9 +++++---- sae/WEB-INF/vue/login.jsp | 8 ++++++++ 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/sae/WEB-INF/src/controleur/Accueil.java b/sae/WEB-INF/src/controleur/Accueil.java index 1524c2f..74fef29 100644 --- a/sae/WEB-INF/src/controleur/Accueil.java +++ b/sae/WEB-INF/src/controleur/Accueil.java @@ -7,7 +7,6 @@ import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpSession; -import org.apache.commons.text.StringEscapeUtils; @WebServlet("/accueil") public class Accueil extends HttpServlet { @@ -18,7 +17,7 @@ public class Accueil extends HttpServlet { return; } HttpSession session = request.getSession(); - String email = StringEscapeUtils.escapeHtml4((String) session.getAttribute("email")); + String email = (String) session.getAttribute("email"); request.setAttribute("email", email); request.getRequestDispatcher("/WEB-INF/vue/accueil.jsp").forward(request, response); } diff --git a/sae/WEB-INF/src/controleur/EnvoyerMessage.java b/sae/WEB-INF/src/controleur/EnvoyerMessage.java index b9c7916..8b67344 100644 --- a/sae/WEB-INF/src/controleur/EnvoyerMessage.java +++ b/sae/WEB-INF/src/controleur/EnvoyerMessage.java @@ -13,6 +13,8 @@ import java.io.File; import java.io.IOException; import java.time.LocalDateTime; +import org.apache.commons.text.StringEscapeUtils; + @WebServlet("/envoyerMessage") @MultipartConfig( maxFileSize = 1024 * 1024 * 5, @@ -35,8 +37,8 @@ public class EnvoyerMessage extends HttpServlet { res.sendRedirect(req.getContextPath() + "/login"); return; } - String email = (String) req.getSession().getAttribute("email"); - String message = req.getParameter("contenu"); + String email = (String) req.getSession().getAttribute("email"); // je pense que ça ne sert a rien d'utiliser StringEscapeUtils.escapeHtml4 sur l'email qui est en session et qui est censé être safe vu qu'on verifie au moment ou on le met en session + String message = StringEscapeUtils.escapeHtml4(req.getParameter("contenu")); int filId = (int) req.getSession().getAttribute("filId"); if (message == null || message.isEmpty()) { return; diff --git a/sae/WEB-INF/src/controleur/Login.java b/sae/WEB-INF/src/controleur/Login.java index 655e8db..6b78a5a 100644 --- a/sae/WEB-INF/src/controleur/Login.java +++ b/sae/WEB-INF/src/controleur/Login.java @@ -25,6 +25,8 @@ public class Login extends HttpServlet { res.sendRedirect(req.getContextPath() + "/accueil"); } else { System.out.println("Connexion échouée"); + req.setAttribute("error", "Email ou mot de passe incorrect."); + req.getRequestDispatcher("/WEB-INF/vue/login.jsp").forward(req, res); res.sendRedirect(req.getContextPath() + "/login"); } } diff --git a/sae/WEB-INF/vue/accueil.jsp b/sae/WEB-INF/vue/accueil.jsp index a8739e7..d920f55 100644 --- a/sae/WEB-INF/vue/accueil.jsp +++ b/sae/WEB-INF/vue/accueil.jsp @@ -43,11 +43,12 @@ </div> </div> </nav> - <% UtilisateurDao udao=new UtilisateurDao(); String email=(String) session.getAttribute("email"); String - username=udao.findUtilisateur(email).getNom(); AbonnementDao adao=new AbonnementDao(); List<Abonnement> abonnements - = adao.findAbonnements(email); + <% + UtilisateurDao udao=new UtilisateurDao(); String email=(String) session.getAttribute("email"); + String username=udao.findUtilisateur(email).getNom(); AbonnementDao adao=new AbonnementDao(); + List<Abonnement> abonnements = adao.findAbonnements(email); FilDeDiscussionDAO fdao = new FilDeDiscussionDAO(); - %> + %> <div class="max-w-2xl mx-auto mt-12 p-6 bg-white rounded-lg shadow-md"> <h2 class="text-2xl font-bold mb-4">Bienvenue sur CampusTalk</h2> <p class="mb-4">Bonjour, <%= username %> !</p> diff --git a/sae/WEB-INF/vue/login.jsp b/sae/WEB-INF/vue/login.jsp index c1328ac..ae0c51d 100644 --- a/sae/WEB-INF/vue/login.jsp +++ b/sae/WEB-INF/vue/login.jsp @@ -29,6 +29,14 @@ <div class="max-w-md mx-auto mt-12 p-6 bg-white rounded-lg shadow-md"> <h2 class="text-2xl font-bold mb-4 text-center">Bienvenue sur CampusTalk</h2> <form action="login" method="post"> + <% + request.getAttribute("error"); + if (request.getAttribute("error") != null) { + %> + <div class="bg-red-100 text-red-700 p-4 rounded-lg mb-4"> + <%= request.getAttribute("error") %> + </div> + <% request.removeAttribute("error"); } %> <div class="mb-4"> <label for="email" class="block text-gray-700 font-semibold">Adresse e-mail</label> <input type="email" class="w-full p-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-400" name="email" id="email" placeholder="Entrez votre e-mail" required> -- GitLab