A voir également:
- Liste des fonctions pour sécuriser des variables
- Liste déroulante excel - Guide
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
- Liste déroulante en cascade - Guide
- Liste des appareils connectés - Guide
- Liste site streaming illégal - Accueil - Services en ligne
2 réponses
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
525
4 janv. 2017 à 17:29
4 janv. 2017 à 17:29
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,
Utilisateur anonyme
7 janv. 2017 à 18:37
7 janv. 2017 à 18:37
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; } } }
jordane45
Messages postés
38389
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2025
4 730
7 janv. 2017 à 20:08
7 janv. 2017 à 20:08
Sur l'utilité. .. toujours aucun intérêt en vue...
Sur la forme... regarde l'écriture ternaire et les switch case.
Sur la forme... regarde l'écriture ternaire et les switch case.
jordane45
Messages postés
38389
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2025
4 730
>
Utilisateur anonyme
8 janv. 2017 à 00:46
8 janv. 2017 à 00:46
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 ? )
jordane45
Messages postés
38389
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 janvier 2025
4 730
>
Utilisateur anonyme
9 janv. 2017 à 01:29
9 janv. 2017 à 01:29
.... 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 ...
4 janv. 2017 à 18:51
j'ai quand même créer cette fonction :
Vous en pensez quoi ?
Merci
Nils0
Modifié par jordane45 le 4/01/2017 à 19:14
Les fonctions html spécialchar et consore servent lors de l'affichage. .. PAS pour l'insertion en bdd.
4 janv. 2017 à 20:11
4 janv. 2017 à 20:15
5 janv. 2017 à 07:08