me demande si la combinaison de trim(), strip_tags() et addslashes() est suffisant pour filtrer les valeurs des variables de _GET et $ _POSTentrée utilisateur de filtrage en php
Répondre
Cela dépend du type de validation que vous souhaitez effectuer.
Voici quelques exemples de base:
- Si les données vont être utilisées dans des requêtes MySQL assurez-vous d'utiliser mysql_real_escape_query() sur les données au lieu de addslashes().
- S'il contient des chemins de fichier, assurez-vous de supprimer les parties "../" et de bloquer l'accès au nom de fichier sensible.
- Si vous souhaitez afficher les données sur une page Web, veillez à utiliser htmlspecialchars() dessus.
Mais la validation la plus importante est que d'accepter les valeurs que vous attendez, autrement dit: permettre que des valeurs numériques lorsque vous numéros attendez, etc.
Réponse courte: non.
Réponse longue: cela dépend. Fondamentalement, vous ne pouvez pas dire qu'une certaine quantité de filtrage est ou n'est pas suffisante sans considérer ce que vous voulez en faire. Par exemple, ce qui précède permettra par "javascript: dostuff();", ce qui pourrait être OK ou il pourrait ne pas si vous utilisez une de ces valeurs GET ou POST dans l'attribut href d'un lien. De même, vous pourriez avoir une zone de texte riche où les utilisateurs peuvent éditer, ce qui n'a pas vraiment de sens.
Je suppose que ce que j'essaie de dire, c'est qu'il existe un ensemble d'étapes simples pour désinfecter vos données de sorte que vous puissiez les ignorer et dire «terminé». Vous devez toujours considérer ce que ces données font.
Cela dépend fortement de l'endroit où vous allez l'utiliser.
- Si vous souhaitez afficher des éléments au format HTML, assurez-vous de bien spécifier le codage (par exemple: UTF-8). Tant que vous dépouiller tous les tags, vous devrait être bien.
- Pour une utilisation dans les requêtes SQL, addslashes n'est pas suffisant! Si vous utilisez la bibliothèque mysqli par exemple, vous voulez regarder mysql::real_escape_string. Pour les autres bibliothèques DB, utilisez la fonction d'échappement désignée!
- Si vous allez utiliser la chaîne en javascript, addslashes ne suffira pas.
- Si vous êtes paranoïaque à propos des bogues de navigateur, consultez le OWASP Reform library
- Si vous utilisez les données dans un contexte autre que HTML, d'autres techniques d'échappement s'appliquent.
- 1. Filtrage PHP Formulaire Entrée
- 2. Filtrage PHP Formulaire Entrée
- 3. Fonction de filtrage XSS en PHP
- 4. Entrée clavier en PHP
- 5. Tableau de filtrage PHP
- 6. Parse entrée utilisateur arbitraire
- 7. Entrée utilisateur en Perl avec IO :: Socket
- 8. -entrée utilisateur et ESS
- 9. Filtrage/Désinfection de l'entrée utilisateur. Meilleure approche
- 10. Regex de l'espace insécable en entrée php
- 11. Filtrage d'URL en php, filter_var ou htmlentities
- 12. entrée utilisateur encodage en tant que paramètre URL GET JavaScript
- 13. Pthread callbacks entrée utilisateur interrompue
- 14. entrée utilisateur Désinfecter destiné à la base de données en PHP
- 15. Java - entrée utilisateur Unbootable (Eclipse)
- 16. Obtenir une entrée utilisateur en utilisant CIN.get() en C++ question
- 17. Empêcher une base de données de rejeter une entrée utilisateur
- 18. Entrée variable PHP en HTML Select Tag
- 19. php débutant entrée de sécurité
- 20. en utilisant php: // entrée et file_put_contents
- 21. Entrée et sortie Flex en PHP
- 22. Entrée standard PHP?
- 23. filtrage html sûr avec php?
- 24. Guessing TimeZone utilisateur en PHP
- 25. Exécution d'une commande externe avec entrée utilisateur en C
- 26. entrée utilisateur test contre une liste en python
- 27. Filtrage des utilisateurs PHP et MySQL
- 28. Déclenchement d'un événement "Click" sans entrée utilisateur
- 29. validation de session utilisateur en php
- 30. Entrée utilisateur des entiers - Traitement des erreurs
Cela dépend de ce que vous faites avec votre GET et Valeurs POST – voyager