Conséquences de la dépréciation des constantes
Dans PHP 8.1, les constantes FILTER_SANITIZE_STRING et FILTER_SANITIZE_STRIPPED sont désormais obsolètes. Cela soulève des inquiétudes pour les développeurs qui s'appuyaient auparavant sur ces constantes pour nettoyer les entrées des utilisateurs.
Raison d'être de la dépréciation
Les constantes concernées avaient un objectif ambigu et un comportement potentiellement déroutant. Ils ont supprimé des caractères spécifiques et codé certains symboles sans fournir de directives claires sur le moment où ils doivent être utilisés. La communauté a reconnu que ce manque de clarté pouvait entraîner des conséquences inattendues et a décidé de décourager leur utilisation continue.
Impact sur les applications héritées
Les applications qui utilisent encore ces constantes seront rencontrer des avertissements de dépréciation. Pour éviter les erreurs et garantir la fonctionnalité continue de leur code, les développeurs doivent trouver des remplacements appropriés.
Solutions alternatives
1. FILTER_UNSAFE_RAW :
Si vous avez déjà utilisé FILTER_SANITIZE_STRING sans objectif spécifique, vous pouvez passer au filtre de chaîne par défaut, FILTER_UNSAFE_RAW, qui n'effectue aucun filtrage. Cette option est recommandée si vous avez besoin de la valeur de chaîne brute sans aucune désinfection.
2. htmlspecialchars :
Si vous avez utilisé FILTER_SANITIZE_STRING pour vous protéger contre les attaques de scripts intersites (XSS), envisagez d'utiliser la fonction htmlspecialchars() sur les données de sortie. Cette approche garantit que les scripts malveillants sont rendus inoffensifs avant d'être affichés aux utilisateurs.
3. Filtre Regex personnalisé :
Pour les cas où vous avez besoin d'un filtrage spécifique, un filtre regex personnalisé peut être créé. Voir l'exemple de code fourni dans la réponse acceptée. N'oubliez pas qu'il est essentiel d'échapper à la sortie lors de la protection contre les vulnérabilités XSS.
Conclusion
La dépréciation de FILTER_SANITIZE_STRING et FILTER_SANITIZE_STRIPPED dans PHP 8.1 rappelle aux développeurs de faire preuve de prudence évaluer leurs pratiques d’assainissement des intrants. En comprenant la justification de ce changement, ils peuvent prendre des décisions éclairées quant à l'adoption de solutions alternatives offrant plus de clarté et de sécurité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!