Maison  >  Article  >  développement back-end  >  Comment interdire l'apparition de symboles en php

Comment interdire l'apparition de symboles en php

PHPz
PHPzoriginal
2023-04-13 09:04:17926parcourir

En langage PHP, nous devons parfois traiter le texte saisi et nous assurer qu'il ne contient aucun symbole. Par exemple, lors du traitement des données de formulaire soumises par l'utilisateur, de la validation des adresses e-mail ou du traitement des requêtes de base de données, nous devrons peut-être vérifier si les valeurs d'entrée contiennent des caractères spéciaux. Par conséquent, lors de l’écriture de code PHP, l’interdiction des symboles est une question très importante.

Alors, comment interdire les symboles ? Voici plusieurs solutions courantes pour votre référence.

1. Utiliser des expressions régulières
Les expressions régulières sont un puissant outil de correspondance de modèles qui peut identifier le texte selon différents modèles. En utilisant des expressions régulières, vous pouvez facilement vérifier si une chaîne contient des caractères spéciaux. Voici un exemple simple :

$pattern = '/^[a-zA-Z0-9]+$/';
if (preg_match($pattern, $input)) {
    echo "字符串符合要求";
} else {
    echo "字符串不符合要求";
}

Cette expression régulière restreint la chaîne à ne contenir que des lettres et des chiffres, donc toutes les occurrences des caractères sont légales. Si la valeur d'entrée contient d'autres caractères, la vérification de l'expression régulière échoue.

2. Utiliser des filtres en PHP
PHP fournit de nombreux filtres utiles qui peuvent être utilisés pour vérifier et filtrer les valeurs d'entrée. Par exemple, vous pouvez utiliser le filtre FILTER_SANITIZE_STRING pour remplacer tous les caractères spéciaux d'une chaîne par des espaces. Voici un exemple :

$input = "<script>alert('Hello World!');</script>";
$safe_input = filter_var($input, FILTER_SANITIZE_STRING);
echo $safe_input;
// Output: alert('Hello World!');

L'utilisation de filtres peut non seulement filtrer les caractères illégaux, mais également formater les valeurs d'entrée, supprimer les espaces inutiles, etc.

3. Traiter manuellement les valeurs d'entrée
Le traitement manuel des valeurs d'entrée est peut-être la méthode la plus simple, mais c'est aussi la méthode la plus sujette aux erreurs. Pour rendre le code plus robuste, nous avons besoin d'une validation et d'un filtrage riches des valeurs d'entrée. Voici un exemple simple :

$input = $_POST['input'];
if (strlen($input) > 50) {
    exit("输入字符过长");
}
if (preg_match('/^[a-zA-Z0-9]+$/',$input)) {
    //处理输入值
} else {
    exit("字符串包含不合法字符");
}

Le traitement manuel des valeurs d'entrée nécessite l'écriture de beaucoup de code et est sujet aux bugs. Par conséquent, dans le développement réel, nous devons utiliser autant que possible des expressions régulières et des filtres pour garantir la sécurité et la robustesse du code.

Résumé
L'interdiction des symboles est une question très importante dans la programmation PHP, impliquant la sécurité de la saisie utilisateur et la stabilité du programme. L'utilisation d'expressions régulières, de filtres et le traitement manuel des valeurs d'entrée sont des solutions courantes, et vous pouvez choisir la méthode qui vous convient en fonction de votre situation spécifique. Dans le même temps, nous devons également avoir une certaine compréhension du mécanisme de sécurité de PHP pour éviter les failles de sécurité lors du développement.

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!

Déclaration:
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