diff --git a/Bd/bd.sql b/Bd/bd.sql index cd8c92e2..41998372 100644 --- a/Bd/bd.sql +++ b/Bd/bd.sql @@ -4,7 +4,7 @@ DROP TABLE CREATE TABLE Admin( email varchar(50) PRIMARY KEY, pseudo varchar(50), -mdp varchar(50) +mdp varchar(500) ); CREATE TABLE Enigme( @@ -22,7 +22,7 @@ CREATE TABLE Joueur( email varchar(50) PRIMARY KEY, enigmeEnCours varchar(50) REFERENCES Enigme(idEnigme), pseudo varchar(50), -mdp varchar(50) +mdp varchar(500) ); CREATE TABLE Partie( diff --git a/WEB/Config/Validation.php b/WEB/Config/Validation.php index 2fe55341..49a0d99c 100644 --- a/WEB/Config/Validation.php +++ b/WEB/Config/Validation.php @@ -29,4 +29,11 @@ class Validation } return true; } + public function ValidateUsername(string $username) : bool{ + if(!filter_var($username,FILTER_VALIDATE_REGEXP,array("options" => array( "regexp" => "^[^&=_'\-+;<>.]{1,18}$" )))) + { + return false; + } + return true; + } } diff --git a/WEB/Controller/Controller.php b/WEB/Controller/Controller.php index f08f89c4..f8a56f2e 100644 --- a/WEB/Controller/Controller.php +++ b/WEB/Controller/Controller.php @@ -54,10 +54,13 @@ class Controller throw (new Exception("Email non valide")); } $password = password_hash($_REQUEST['password'], PASSWORD_DEFAULT); + if(! $validation->ValidateUsername($_REQUEST['username'])){ + throw(new Exception("Username non valide")); + } $joueur = new Joueur($_REQUEST['email'], $_REQUEST['username'], $password); $gateway->insert($joueur); $_SESSION['connected'] = 'true'; - require ($rep.$vues['main']);; + require ($rep.$vues['main']); }catch (Exception $e){ require($rep.$vues['erreurSignUp']); }