Maison > développement back-end > tutoriel php > Quels sont les meilleurs remplacements pour les constantes PHP obsolètes FILTER_SANITIZE_STRING et FILTER_SANITIZE_STRIPPED ?

Quels sont les meilleurs remplacements pour les constantes PHP obsolètes FILTER_SANITIZE_STRING et FILTER_SANITIZE_STRIPPED ?

Mary-Kate Olsen
Libérer: 2024-11-30 20:26:12
original
985 Les gens l'ont consulté

What are the Best Replacements for the Deprecated PHP FILTER_SANITIZE_STRING and FILTER_SANITIZE_STRIPPED Constants?

Comprendre l'avis de dépréciation : la constante FILTER_SANITIZE_STRING est obsolète

En PHP 8.1, les constantes FILTER_SANITIZE_STRING et FILTER_SANITIZE_STRIPPED sont obsolètes. Cela soulève la question : quels sont les remplacements appropriés pour ces constantes ?

Justification de la dépréciation

Ces filtres étaient imprécis dans leur objectif et pourraient prêter à confusion. Leur fonctionnalité était souvent mal comprise comme étant le filtre de chaîne par défaut, FILTER_UNSAFE_RAW. En conséquence, la communauté PHP a déconseillé leur utilisation.

Options de remplacement

Il existe plusieurs options disponibles pour remplacer FILTER_SANITIZE_STRING et FILTER_SANITIZE_STRIPPED :

  • FILTER_UNSAFE_RAW : Ce filtre n'applique aucun filtrage et peut être utilisé si aucune désinfection spécifique n'est requise.
  • htmlspecialchars() : Utilisez cette fonction pour vous protéger contre les vulnérabilités XSS en codant la sortie, plutôt que désinfection de l'entrée.
  • Polyfill Regex personnalisé : Pour les cas où une fonctionnalité spécifique est requise, un polyfill regex peut être créé pour reproduire le comportement des filtres obsolètes :
function filter_string_polyfill(string $string): string
{
    $str = preg_replace('/\x00|<[^>]*>?/', '', $string);
    return str_replace([&quot;'&quot;, '&quot;'], ['&amp;#39;', '&amp;#34;'], $str);
}
Copier après la connexion

Meilleure pratique : échappement des sorties

Il est important de rappelez-vous que la désinfection des entrées n’est pas efficace pour prévenir les risques de sécurité. Au lieu de cela, concentrez-vous sur l’échappement de la sortie pour vous protéger contre les vulnérabilités XSS. Cela garantit que la sortie est sûre quelle que soit toute entrée malveillante qui aurait pu être reçue.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal