Dépréciation de la constante FILTER_SANITIZE_STRING
Avec la sortie de PHP 8.1, la constante FILTER_SANITIZE_STRING est obsolète. Cela a suscité des inquiétudes parmi les développeurs qui comptaient auparavant sur ce filtre pour nettoyer les entrées de chaîne.
Pourquoi FILTER_SANITIZE_STRING était-il obsolète ?
Selon la communauté PHP, FILTER_SANITIZE_STRING avait une valeur peu claire. objectif et pourrait prêter à confusion. Il a supprimé le contenu arbitraire sans fournir d’explication claire sur sa fonctionnalité. De plus, il a été remplacé par des techniques de désinfection des chaînes plus efficaces.
Par quoi pouvez-vous le remplacer ?
Il existe plusieurs options pour remplacer le FILTER_SANITIZE_STRING obsolète :
Exemple Polyfill
function filter_string_polyfill(string $string): string { $str = preg_replace('/\x00|<[^>]*>?/', '', $string); return str_replace(["'", '"'], ['&#39;', '&#34;'], $str); }
Meilleure pratique : sortie d'échappement
Il est important de souligner que la désinfection doit être appliquée aux données de sortie, et non aux données d'entrée. En échappant aux caractères spéciaux dans la sortie, vous empêchez les scripts ou les données malveillants d'affecter votre application.
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!