diff --git a/app/register/page.tsx b/app/register/page.tsx index 7f51368..f25906b 100644 --- a/app/register/page.tsx +++ b/app/register/page.tsx @@ -42,7 +42,9 @@ export default function RegisterPage() { // Vérifier si l'email existe déjà const checkEmail = async (email: string) => { - if (!email || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email)) { + // Regex sécurisée contre ReDoS avec limite de longueur + const isValidEmail = email && email.length <= 254 && /^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(email); + if (!isValidEmail) { setEmailStatus({ checking: false, exists: null, valid: null, message: '' }); return; }