diff --git a/WEB-INF/src/controleur/Authent.java b/WEB-INF/src/controleur/Authent.java index 6d308e71594c1f7d52002128c6d808a7fe23a9aa..e3a7973101e71b272a5a1a3089f2fec15cff637f 100644 --- a/WEB-INF/src/controleur/Authent.java +++ b/WEB-INF/src/controleur/Authent.java @@ -4,6 +4,9 @@ import java.io.IOException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; +import org.apache.commons.text.StringEscapeUtils; +import org.apache.commons.text.translate.CharSequenceTranslator; + import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; @@ -20,6 +23,9 @@ public class Authent extends HttpServlet { String action = req.getParameter("action"); String username = req.getParameter("username"); String password = req.getParameter("password"); + + CharSequenceTranslator cst = StringEscapeUtils.ESCAPE_HTML4; + if(username == null || password == null){ req.setAttribute("error", "Vous ne pouvez pas avoir un pseudo ou mot de passe vide !"); req.getRequestDispatcher("/WEB-INF/vue/error.jsp").forward(req, resp); @@ -27,6 +33,7 @@ public class Authent extends HttpServlet { } String hashedPassword; username = username.toLowerCase(); + username = cst.translate(username); MessageDigest md; this.getServletContext(); @@ -69,7 +76,7 @@ public class Authent extends HttpServlet { resp.sendRedirect("navigation?page=accueil"); return; } catch (Exception e) { - req.setAttribute("error", "Nom d'utilisateur déjà pris"); + req.setAttribute("error", "Pseudonyme invalide / Nom d'utilisateur déjà pris"); vue = "WEB-INF/vue/signin.jsp"; } break; diff --git a/WEB-INF/vue/signin.jsp b/WEB-INF/vue/signin.jsp index 75adace2355ad529d3cc1e35c7a14d0e6ba0c7fb..8b405e07df8e5f671b3b7760f8f97fccf8586659 100644 --- a/WEB-INF/vue/signin.jsp +++ b/WEB-INF/vue/signin.jsp @@ -30,7 +30,7 @@ <div> <div class="mt-2 mb-3"> <p class="mb-1">Pseudonyme</p> - <input class="form-control" name="username" type="text" placeholder="pmathieu" maxlength="24" required> + <input class="form-control" name="username" type="text" placeholder="pmathieu" maxlength="24" pattern="\w{3,24}" required> </div> <div class="mb-3"> <p class="mb-1">Mot de passe</p>