Suite à la création de tout un système de support j'aurais aimé avoir vos avis sur la sécurisation que j'ai effectué au niveau du traitement des mes formulaires.
Voici le code PHP qui récupère mon formulaire:
if(isset($_POST['typeSupport']) && isset($_POST['probleme'])) {
$typeSupport = Secu($_POST['typeSupport']);
$serveur = Secu($_POST['serveur']);
$probleme = Secu($_POST['probleme']);
$countTicket = $database->prepare("SELECT COUNT(*) AS Account FROM tickets WHERE idCli = ? AND etat = ? OR etat = ?");
$countTicket->execute(array($user['idCli'],0,1));
$Counter = $countTicket->fetch();
if(!empty($probleme)) {
//if($Counter['Account'] < 1) {
$sendDemande = $database->prepare("INSERT INTO tickets (idCli,support,retro_id,etat,probleme) VALUES (?,?,?,?,?)");
$sendDemande->execute(array($user['idCli'],$typeSupport,$serveur,0,$probleme));
$success = "Votre demande à bien été transmis au support. Vous aurez une réponse dans 24H";
// } else {
//$message = "Vous ne pouvez faire qu'une demande de ticket à la fois";
//}
} else {
$message = "Merci de remplir les champs vident";
}
}
Tes fonctions ne sont utiles que pour l'affichage, inutiles dans les requêtes. C'est le fait d'avoir une requête préparée qui fait la sécurisation contre les injections SQL de ce côté là.
Dans un autre registre, ta condition ligne 1 n'a pas de sens : isset() vérifie si les variables existent pas si elles sont vides.
Tes fonctions ne sont utiles que pour l'affichage, inutiles dans les requêtes. C'est le fait d'avoir une requête préparée qui fait la sécurisation contre les injections SQL de ce côté là.
Dans un autre registre, ta condition ligne 1 n'a pas de sens : isset() vérifie si les variables existent pas si elles sont vides.
Merci pour ta réponse. Donc mes deux fonctions sont inutiles ? C'est à dire que ma requête sécurise déjà tout ?
Et pour isset(), c'est pour déclencher le code PHP afin de traiter la demande, sans isset() mon code ne fonctionne pas
Elles ne sont pas inutiles puisque tu les utilises à l'affichage de ton formulaire. Mais elles ne sont destinées qu'à prévenior les failles XSS, pas les injections SQL.
Pour le isset, tu devrais remplacer par !empty puisque dans ton else tu mets que les champs sont vides.
Elles ne sont pas inutiles puisque tu les utilises à l'affichage de ton formulaire. Mais elles ne sont destinées qu'à prévenior les failles XSS, pas les injections SQL.
Pour le isset, tu devrais remplacer par !empty puisque dans ton else tu mets que les champs sont vides.
Ok je vais m'occuper du isset() et comment puis je me protéger contre les injections SQL ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.
N'oubliez pas d'activer les erreurs PDO.