Liste des fonctions pour sécuriser des variables
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, je cherche des fonctions qui pourront sécuriser une variable avant insertion dans la bdd (j'ai déjà chercher mais je n'ai pas trouvé grand chose....)
Je tiens juste a préciser que j'utilise déjà les requêtes préparés et que j'utilise :
pour l'affiche de la variable...
Merci d'avance
Nils0
Je tiens juste a préciser que j'utilise déjà les requêtes préparés et que j'utilise :
htmlspecialchars($var, ENT_QUOTES);
pour l'affiche de la variable...
Merci d'avance
Nils0
A voir également:
- Liste des fonctions pour sécuriser des variables
- Liste déroulante excel - Guide
- Liste des appareils connectés - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
2 réponses
Salut,
Si tu utilises la méthode prepare de PDO correctement, c-a-d avec des paramètres nommés (:nom) ou non nommés (?) pour substituer les valeurs réelles, tu n'as besoin d'aucun autre traitement sur ces valeurs pour sécuriser ta requête :
Appeler PDO::prepare() et PDOStatement::execute() [...] aident à prévenir les attaques par injection SQL en éliminant le besoin de protéger les paramètres manuellement.
https://www.php.net/manual/fr/pdo.prepare.php
Bonne journée,
Si tu utilises la méthode prepare de PDO correctement, c-a-d avec des paramètres nommés (:nom) ou non nommés (?) pour substituer les valeurs réelles, tu n'as besoin d'aucun autre traitement sur ces valeurs pour sécuriser ta requête :
Appeler PDO::prepare() et PDOStatement::execute() [...] aident à prévenir les attaques par injection SQL en éliminant le besoin de protéger les paramètres manuellement.
https://www.php.net/manual/fr/pdo.prepare.php
Bonne journée,
Désolé de redemander votre aide mais j'aimerais avoir votre avis :
class Securite { // donnée à afficher public static function html($donnee, $type, $taillemax = null){ if(!isset($bdd)){ $bdd = connexion_bdd(); } $liste_type = array("string", "float", "int"); if(in_array($type, $liste_type)){ if(isset($taillemax)){ if(intval($taillemax) >= strlen($donnee)){ if($type == "string"){ $donnee = $donnee; } if($type == "float"){ $donnee = floatval($donnee); } if($type == "int"){ $donnee = intval($donnee); } } else { return false; } } else { if($type == "string"){ $donnee = $donnee; } if($type == "float"){ $donnee = floatval($donnee); } if($type == "int"){ $donnee = intval($donnee); } } $donnee = preg_replace('/\s{2,}/', ' ', $donnee); $donnee = trim($donnee); return htmlspecialchars($donnee, ENT_QUOTES); } else { return false; } } // donnée à insérer dans la bdd public static function bdd($donnee, $type, $taillemax = null){ if(!isset($bdd)){ $bdd = connexion_bdd(); } $liste_type = array("string", "float", "int"); if(in_array($type, $liste_type)){ if(isset($taillemax)){ if(intval($taillemax) >= strlen($donnee)){ if($type == "string"){ $donnee = $donnee; } if($type == "float"){ $donnee = floatval($donnee); } if($type == "int"){ $donnee = intval($donnee); } } else { return false; } } else { if($type == "string"){ $donnee = $donnee; } if($type == "float"){ $donnee = floatval($donnee); } if($type == "int"){ $donnee = intval($donnee); } } return $donnee; } else { return false; } } }
la 1er fonction sert contre les failles XSS
Bon..
- déjà .. la 1 et la 2 sont identiques .... donc aucun interret
- La variable $bdd n'est utilisée nul part ....
- Pour se protéger des failles XSS ... il faut s'assurer qu'il n'y a pas dans le texte des choses comme
<script....
</script>
Bref...Plusieurs techniques permettent d’éviter le XSS : (à n'utiliser QUE POUR L'AFFICHAGE )
- Utiliser la fonction htmlspecialchars(), il convertit les caractères spéciaux en entités HTML.
- Utiliser la fonction htmlentities() qui est identique à htmlspecialchars() sauf qu’elle filtre tout les caractères equivalents au codage html ou javascript.
Tes autres "fonctions" .. ne servent à rien ( on te l'a déjà dit non ? )
.... Tu ne gardes QUE pour l'affichage (donc en l’occurrence ce qui semble être ta fonction "html" (dans laquelle tu retire tout le code inutile...))
Sachant que ce qui est réellement utile pour l'affichage et la protection contre le xss donc... c'est le htmlspecialchars (et/ou le htmlentities).
Je ne sais pas comment te le dire autrement ..... ados ou pas... à un moment faut lire ce que les gens écrivent et essayer de le comprendre .... sans qu'on est à le répéter 250 fois ...
Sachant que ce qui est réellement utile pour l'affichage et la protection contre le xss donc... c'est le htmlspecialchars (et/ou le htmlentities).
Je ne sais pas comment te le dire autrement ..... ados ou pas... à un moment faut lire ce que les gens écrivent et essayer de le comprendre .... sans qu'on est à le répéter 250 fois ...
j'ai quand même créer cette fonction :
Vous en pensez quoi ?
Merci
Nils0
Les fonctions html spécialchar et consore servent lors de l'affichage. .. PAS pour l'insertion en bdd.