aplicationn de la verification

pull/22/head^2
brongniart 5 months ago
parent 5192291ae5
commit 44a9cff478

@ -9,7 +9,8 @@
"Controleur\\": "src/Controleur/", "Controleur\\": "src/Controleur/",
"Model\\": "src/Model/", "Model\\": "src/Model/",
"Gateway\\": "src/Gateway/", "Gateway\\": "src/Gateway/",
"Entity\\": "src/Entity/" "Entity\\": "src/Entity/",
"Verification\\": "src/Verification/"
} }
} }
} }

@ -12,7 +12,7 @@ $base = '';
$login = ''; $login = '';
$mdp = ''; $mdp = '';
$racine='/~marocher8/WF-Website'; $racine='/~kekentin/WF/WF-Website';
//Vues //Vues

@ -21,6 +21,7 @@ use Twig\Error\RuntimeError;
use Twig\Error\SyntaxError; use Twig\Error\SyntaxError;
use Twig\Loader\FilesystemLoader; use Twig\Loader\FilesystemLoader;
use Verification\Verification;
class UserControler { class UserControler {
@ -40,7 +41,7 @@ class UserControler {
public function profil() { public function profil() {
global $vues; global $vues;
$p = $this->uMod->getUsername($_SESSION["user"]); $p = $this->uMod->getUsername(Verification::verifChar($_SESSION["user"]));
require_once $vues['profil']; require_once $vues['profil'];
} }
@ -49,7 +50,9 @@ class UserControler {
public function addComment(){ public function addComment(){
global $racine; global $racine;
$id = $_POST['idQuote']; $id = $_POST['idQuote'];
$this->cMod->createComment($_POST['content'],$_POST['idQuote'],$this->uMod->getIdByUsername($_SESSION['user'])); $this->cMod->createComment(Verification::verifChar($_POST['content']),
Verification::verifChar($_POST['idQuote']),
$this->uMod->getIdByUsername(Verification::verifChar($_SESSION['user'])));
header("Location:".$racine."/quote/$id"); header("Location:".$racine."/quote/$id");
} }
@ -81,7 +84,7 @@ class UserControler {
switch ($action) { switch ($action) {
case 'canswer': case 'canswer':
if ($this->CorrectAnswer()) if ($this->CorrectAnswer())
$_SESSION['score'] = isset($_SESSION['score']) ? ($_SESSION['score'] + 1) : 1; $_SESSION['score'] = Verification::verifChar( isset( $_SESSION['score']) ? ($_SESSION['score'] + 1) : 1 ) ;
$this->continueQuiz($id, $nb_questions); $this->continueQuiz($id, $nb_questions);
break; break;
default: default:
@ -91,8 +94,8 @@ class UserControler {
// page erreur // page erreur
break; break;
default: default:
$_SESSION['score'] = $_SESSION['score'] ?? 0; $_SESSION['score'] = Verification::verifChar($_SESSION['score'] ?? 0);
$this->showQuestion($id, $_SESSION['no_question'] ?? 0); $this->showQuestion($id, Verification::verifChar($_SESSION['no_question'] ?? 0));
break; break;
} }
} }
@ -107,7 +110,7 @@ class UserControler {
{ {
global $racine; global $racine;
$score = $_SESSION['score']; $score = $_SESSION['score'];
$_SESSION['no_question'] = isset($_SESSION['no_question']) ? ($_SESSION['no_question'] + 1) : 1; $_SESSION['no_question'] = Verification::verifChar( isset($_SESSION['no_question']) ? ($_SESSION['no_question'] + 1) : 1);
if ($_SESSION['no_question'] >= $total_questions) { if ($_SESSION['no_question'] >= $total_questions) {
session_destroy(); session_destroy();
$this->endQuiz($id_quiz, $score); $this->endQuiz($id_quiz, $score);
@ -136,10 +139,10 @@ class UserControler {
public function CorrectAnswer() : bool public function CorrectAnswer() : bool
{ {
$answera = $_POST['answera'] ?? null; $answera = Verification::verifChar($_POST['answera'] ?? null);
$answerb = $_POST['answerb'] ?? null; $answerb = Verification::verifChar($_POST['answerb'] ?? null);
$answerc = $_POST['answerc'] ?? null; $answerc = Verification::verifChar($_POST['answerc'] ?? null);
$answerd = $_POST['answerd'] ?? null; $answerd = Verification::verifChar($_POST['answerd'] ?? null);
$id= null; $id= null;
$answer = null; $answer = null;
@ -198,7 +201,7 @@ class UserControler {
public function addFav(array $arg){ public function addFav(array $arg){
global $racine; global $racine;
$id= $arg['id'] ?? 1; $id= $arg['id'] ?? 1;
$this->uMod->addFavorite($_SESSION["user"],$id); $this->uMod->addFavorite(Verification::verifChar($_SESSION["user"]),$id);
header("Location:" . $racine . "/quote/$id"); header("Location:" . $racine . "/quote/$id");
} }
@ -206,7 +209,7 @@ class UserControler {
public function supFav(array $arg){ public function supFav(array $arg){
global $racine; global $racine;
$id= $arg['id'] ?? 1; $id= $arg['id'] ?? 1;
$this->uMod->supFavorite($_SESSION["user"],$id); $this->uMod->supFavorite(Verification::verifChar($_SESSION["user"]),$id);
header("Location:". $racine ."/quote/$id"); header("Location:". $racine ."/quote/$id");
} }
} }

@ -13,7 +13,7 @@ use Twig\Error\LoaderError;
use Twig\Error\RuntimeError; use Twig\Error\RuntimeError;
use Twig\Error\SyntaxError; use Twig\Error\SyntaxError;
use Verification\VerificationChar; use Verification\Verification;
Class VisitorControler { Class VisitorControler {
@ -28,6 +28,7 @@ Class VisitorControler {
private array $errors; private array $errors;
/** /**
* @throws SyntaxError * @throws SyntaxError
* @throws RuntimeError * @throws RuntimeError
@ -69,9 +70,9 @@ Class VisitorControler {
public function search(array $arg){ public function search(array $arg){
global $vues; global $vues;
$type = ($_POST['type'] ?? ""); $type = ( Verification::verifChar( $_POST['type'] ?? ""));
$search = ( VerificationChar::verifChar( $_POST['search'] ) ?? NULL); $search = ( Verification::verifChar( $_POST['search'] ?? NULL));
$filtre = ($arg['filtre'] ?? []); $filtre = ( Verification::verifArrayChar( $arg['filtre'] ?? []));
$tq=$this->sMod->searchQuote($type,$search,$filtre); $tq=$this->sMod->searchQuote($type,$search,$filtre);
@ -116,8 +117,8 @@ Class VisitorControler {
global $vues,$racine; global $vues,$racine;
if ($_POST) if ($_POST)
{ {
$pseudo = $_POST['pseudo'] ?? null; $pseudo = Verification::verifChar($_POST['pseudo'] ?? null);
$mdp = $_POST['mdp'] ?? null; $mdp = Verification::verifChar($_POST['mdp'] ?? null);
$user = $this -> uMod -> getUsername($pseudo); $user = $this -> uMod -> getUsername($pseudo);
@ -157,10 +158,10 @@ Class VisitorControler {
global $vues,$racine; global $vues,$racine;
if ($_POST) { if ($_POST) {
$pseudo = $_POST['pseudo'] ?? null; $pseudo = Verification::verifChar($_POST['pseudo'] ?? null);
$email = $_POST['email'] ?? null; $email = Verification::verifChar($_POST['email'] ?? null);
$mdp = $_POST['mdp'] ?? null; $mdp = Verification::verifChar($_POST['mdp'] ?? null);
$cmdp = $_POST['cmdp'] ?? null; $cmdp = Verification::verifChar($_POST['cmdp'] ?? null);
if ($mdp != $cmdp) { if ($mdp != $cmdp) {
$errors[2] = "Mots de passe incorrects"; $errors[2] = "Mots de passe incorrects";
@ -192,8 +193,8 @@ Class VisitorControler {
} }
else echo $this->uMod->insertUser($pseudo, $email, $hmdp); else echo $this->uMod->insertUser($pseudo, $email, $hmdp);
$_SESSION["role"] = 'user'; $_SESSION["role"] = Verification::verifChar('user');
$_SESSION["user"] = $pseudo; $_SESSION["user"] = Verification::verifChar($pseudo);
header("Location: ". $racine); header("Location: ". $racine);
} }

@ -0,0 +1,44 @@
<?php
namespace Verification;
class Verification
{
public static function verifChar(?string $text) : ?string{
if($text==NULL){
return NULL;
}
$charInterdi=['|','/','\\','%','$','=','<','>','(',')'];
$chaineInterdi=["AND","OR","WHERE","FROM","SELECT"];
$textVerif="";
foreach( str_split($text,1) as $char){
if( !in_array($char,$charInterdi) ){
$textVerif=$textVerif.$char;
}
}
$text=$textVerif;
$textVerif="";
$tabText=explode(" ",$text);
for( $i=0 ; $i<count($tabText) ; $i++){
if( !in_array( strtoupper($tabText[$i]) , $chaineInterdi )){
$textVerif=$textVerif.$tabText[$i];
if($i != count($tabText)-1){
$textVerif=$textVerif." ";
}
}
}
return $textVerif;
}
public static function verifArrayChar(?array $tabText) : ?array{
for( $i=0 ; $i<count($tabText) ; $i++){
$tabText[$i]=$this->verifChar($tabText[$i]);
}
return $tabText;
}
}
?>

@ -1,19 +0,0 @@
<?php
namespace Verification{
class VerificationChar
{
public static function verifChar(string $text) : string{
$charInterdi=['&','|','/','\\','%','$'];
$textVerif="";
foreach( $text as $char){
if( !in_array($char,$charInterdi) ){
$textVerif=$textVerif+$char;
}
}
return $textVerif;
}
}
}
?>

@ -6,6 +6,7 @@ $vendorDir = dirname(__DIR__);
$baseDir = dirname($vendorDir); $baseDir = dirname($vendorDir);
return array( return array(
'Verification\\' => array($baseDir . '/src/Verification'),
'Twig\\' => array($vendorDir . '/twig/twig/src'), 'Twig\\' => array($vendorDir . '/twig/twig/src'),
'Symfony\\Polyfill\\Php81\\' => array($vendorDir . '/symfony/polyfill-php81'), 'Symfony\\Polyfill\\Php81\\' => array($vendorDir . '/symfony/polyfill-php81'),
'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'), 'Symfony\\Polyfill\\Mbstring\\' => array($vendorDir . '/symfony/polyfill-mbstring'),

@ -18,6 +18,10 @@ class ComposerStaticInit68804b2111cb6b8bf6edf66cb2b4669c
); );
public static $prefixLengthsPsr4 = array ( public static $prefixLengthsPsr4 = array (
'V' =>
array (
'Verification\\' => 13,
),
'T' => 'T' =>
array ( array (
'Twig\\' => 5, 'Twig\\' => 5,
@ -47,6 +51,10 @@ class ComposerStaticInit68804b2111cb6b8bf6edf66cb2b4669c
); );
public static $prefixDirsPsr4 = array ( public static $prefixDirsPsr4 = array (
'Verification\\' =>
array (
0 => __DIR__ . '/../..' . '/src/Verification',
),
'Twig\\' => 'Twig\\' =>
array ( array (
0 => __DIR__ . '/..' . '/twig/twig/src', 0 => __DIR__ . '/..' . '/twig/twig/src',

Loading…
Cancel
Save