aplicationn de la verification

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

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

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

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

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

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

Loading…
Cancel
Save