Position actuelle: Accueil> Derniers articles> Application de Stripos dans la revue de contenu de formulaire

Application de Stripos dans la revue de contenu de formulaire

M66 2025-05-31

Dans la soumission du formulaire, les utilisateurs peuvent parfois saisir des informations de texte inappropriées ou sensibles. Afin d'assurer la santé et la sécurité du contenu de la plate-forme, nous pouvons utiliser la fonction Stripos de PHP pour rechercher et filtrer l'entrée des utilisateurs. Cet article présentera comment utiliser la fonction StripOS pour implémenter la recherche et le filtrage des mots clés dans la revue du contenu du formulaire, et donner des exemples.

1. Qu'est-ce qu'une fonction Scripos?

Stripos est une fonction de PHP qui est utilisée pour trouver la première occurrence d'une sous-chaîne dans une chaîne. La fonction est insensible à la casse et la valeur de retour est l'emplacement où la sous-chaîne apparaît d'abord, et si elle n'est pas trouvée, elle renvoie faux . Cette fonction est très utile lorsque vous effectuez des informations sensibles ou des recherches de mots clés.

Syntaxe de base de la fonction Stripos :

 stripos($haystack, $needle, $offset);
  • $ Haystack : la chaîne à rechercher.

  • $ aiguille : la sous-chaîne à trouver.

  • $ offset : (facultatif) Si un décalage est défini, la recherche commence à partir de cet emplacement.

2. Utilisez des stripos pour la recherche de mots clés

Lors de l'examen du contenu du formulaire, nous pouvons utiliser des stripos pour savoir s'il existe certains mots clés sensibles. Par exemple, supposons que nous recherchons si le formulaire soumis par l'utilisateur contient certains mots sensibles, et si ces mots sont trouvés, nous pouvons refuser de soumettre ou d'inviter l'utilisateur.

3. Exemple de code: recherche et filtrage des mots clés

Voici un exemple simple qui montre comment utiliser la fonction Scripos pour détecter si le contenu d'un formulaire soumis à l'utilisateur contient un vocabulaire inapproprié.

 <?php
// Définition de la liste des mots sensibles
$sensitiveWords = ['Mots sensibles1', 'Mots sensibles2', 'Contenu inapproprié'];

// Simuler le contenu d&#39;entrée de formulaire
$formInput = $_POST['user_input'] ?? '';

// 检查表单输入是否包含Mots sensibles
foreach ($sensitiveWords as $word) {
    if (stripos($formInput, $word) !== false) {
        echo "avertir:您的输入包含Contenu inapproprié,Veuillez le modifier avant de soumettre。";
        // Ici,Vous pouvez choisir de rejeter la soumission du formulaire ou d&#39;effectuer d&#39;autres traitements
        exit;
    }
}

// Continuez à traiter les données du formulaire
echo "Votre formulaire a été soumis avec succès!";
?>

Dans le code ci-dessus, nous définissons une liste de mots sensibles $ mots sensibles et vérifions si le contenu du formulaire entré par l'utilisateur contient ces mots sensibles un par un via la fonction Scripos . Si une correspondance est trouvée, un message d'avertissement est sorti et le traitement est terminé. Si aucun mot sensible n'est trouvé, le formulaire sera soumis normalement.

4. Combiné avec le filtrage du contenu d'URL

Parfois, le contenu du formulaire peut contenir un lien URL. Nous pouvons également utiliser des stripos pour vérifier si l'URL contient des noms de domaine inappropriés ou des liens sensibles. Voici un exemple pour vérifier si le contenu du formulaire contient certaines URL non autorisées.

 <?php
// Définir une liste de noms de domaine non autorisés
$disallowedDomains = ['example.com', 'anotherexample.com'];

// Simuler le contenu d&#39;entrée de formulaire
$formInput = $_POST['user_input'] ?? '';

// TrouverURLNom de domaine dans
preg_match_all('/https?:\/\/([^\/]+)/', $formInput, $matches);

// Itérer à travers tous les noms de domaine correspondants
foreach ($matches[1] as $domain) {
    if (in_array($domain, $disallowedDomains)) {
        echo "avertir:Votre entrée contient des liens qui ne sont pas autorisés({$domain})。Veuillez le modifier avant de soumettre。";
        exit;
    }
}

// Continuez à traiter les données du formulaire
echo "Votre formulaire a été soumis avec succès!";
?>

Dans cet exemple, nous utilisons preg_match_all pour extraire les noms de domaine dans toutes les URL, puis utilisons In_Array pour vérifier s'il existe des noms de domaine non autorisés. Vous pouvez modifier la liste des noms de domaine non autorisés en fonction des besoins réels.

5. Choses à noter

  • Problèmes de performances : L'utilisation fréquente de Stripos peut affecter les performances lorsque le contenu de la forme est long ou que la liste des mots sensibles est très grande. Pour le moment, vous pouvez envisager d'utiliser des expressions régulières ou d'autres stratégies d'optimisation.

  • Match incomplète : Stripos est basé sur des recherches de chaînes, et il peut y avoir des correspondances partielles. Pour éviter une erreur de jugement, des mots sensibles peuvent être ajoutés avant et après des espaces ou d'autres caractères spéciaux pour l'isolement.

  • Expérience utilisateur améliorée : si vous souhaitez une rétroaction instantanée lors de la saisie de l'utilisateur, vous pouvez envisager de combiner JavaScript et AJAX pour la détection frontale pour améliorer l'expérience utilisateur.