PHP -Désinfecter les valeurs d'un tableau
J'ai un tableau, qui vient de $_POST[]
et peut avoir d'autres tableaux comme valeurs, comme:
array(
'title' => 'Title',
'data' => array(
'hdr' => 'Header'
'bdy' => 'Body'
),
'foo' => array(1, 23, 65),
...
)
Comment puis-je désinfecter toutes les valeurs de ce grand tableau?
pour eg. appliquer une strip_tags()
à des valeurs comme la Titre, en-Tête, Corps, 1, 23, 65 etc ?
J'espère que vous l'habitude d'utiliser cette idée de désinfection pour le SQL échapper
non, c'est fait avant de l'insérer dans SQL
non, c'est fait avant de l'insérer dans SQL
OriginalL'auteur Alex | 2011-02-01
Vous devez vous connecter pour publier un commentaire.
Ont un coup d'oeil à array_map
Mise à jour de tableau 2D:
Utilisation:
Remarque, j'ai trouvé ce seulement par la recherche de commentaires pour Dimension
Warning: strip_tags() expects parameter 1 to be string, array given
. Je pense qu'il ne fonctionne pas pour la 2ème niveau+ tableaux...Voir mise à jour de réponse
tx. 2ème exemple fonctionne 😀
il est déjà en fonction pour que, array_walk_recursive()
Bon appel, Col.
OriginalL'auteur kieran
Suffit d'utiliser la l'extension du filtre.
Cela permettra d'assainir votre
$_GET
et$_POST
.OriginalL'auteur Alfred
Juste un exemple d'une fonction récursive, pour le décapage des balises dans ce cas.
OriginalL'auteur Kemo
Disons que nous voulons pour assainir le $_POST tableau:
foreach($_POST as $k=>$v) {$_POST[$k] = htmlspecialchars($v);}
Ce simple. N'est-ce pas?
La question n'était pas à désinfecter pour les injections SQL. Il était de dépouiller les balises. Je pense qu'il est préférable d'utiliser une Instruction Préparée à cet effet. Le code que j'ai écrit ne marche pas dépouiller les balises, c'est juste réécrit ces html des caractères spéciaux comme affichables format format ex.: "é". Bien sûr, vous pouvez remplacer htmlspecialchars par strip_tags. Dépend de ce que vous voulez faire!
Déclarations préparées à l'avance car, en effet, de protéger contre les injections SQL, mais ils sont aussi une forme de désinfection à la sortie, plutôt que de l'entrée. Ne jamais nettoyer à l'entrée, et certainement jamais ne :). L'objectif est de rendre les choses sane pour la sortie en HTML, de ne pas les casser pour tous les autres potentiels but. Ce code est ce que
magic_quotes_gpc
ressemblerait si les gens sont davantage préoccupés par les attaques XSS que l'injection SQL. Il est mauvais. Ne pas le faire. Ne pas faire quelque chose de similaire.OriginalL'auteur Marc Tremblay