Skip to content
Snippets Groups Projects
Commit ea7f76e5 authored by Florine Lefebvre's avatar Florine Lefebvre :stuck_out_tongue_closed_eyes:
Browse files

protection xss nom d'utilisateur + contrainte chiffre ou lettres entre 3 et 24 carac

parent e39232c8
Branches
No related tags found
No related merge requests found
......@@ -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;
......
......@@ -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>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment