Position actuelle: Accueil> Derniers articles> Comment générer de manière aléatoire le code de vérification à l'aide de la fonction STR_SHUBLE de PHP? Quelle est la méthode de mise en œuvre spécifique?

Comment générer de manière aléatoire le code de vérification à l'aide de la fonction STR_SHUBLE de PHP? Quelle est la méthode de mise en œuvre spécifique?

gitbox 2025-08-17

Le code de vérification est une mesure de sécurité courante pour empêcher les opérations automatisées et est souvent utilisée dans des scénarios tels que les formulaires de connexion, d'enregistrement et de soumission. Pour améliorer l'expérience utilisateur et augmenter la complexité du code de vérification, les développeurs choisissent généralement de générer des chaînes aléatoires d'une certaine longueur comme code de vérification. Cet article présentera comment utiliser la fonction Str_Shuffle () de PHP pour générer des codes de vérification au hasard.

1. Quelle est la fonction str_shuffle () ?

La fonction STR_SHUXH () dans PHP est une fonction qui perturbe aléatoirement l'ordre des caractères dans les chaînes. Sa syntaxe est très simple:

 <span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-title function_ invoke__">str_shuffle</span></span><span> ( </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str</span></span><span> )
</span></span>

Cette fonction prend un paramètre de chaîne $ str et renvoie une chaîne dans un ordre désordonné aléatoire. Il convient de noter que le résultat renvoyé par str_shuffle () est une nouvelle chaîne et que la chaîne d'origine ne sera pas modifiée.

2. Pourquoi choisir str_shuffle () pour générer du code de vérification?

La fonction str_shuffle () fournit un moyen simple et rapide de gâcher les chaînes, ce qui le rend très efficace lors de la génération de codes de vérification. Combiné avec d'autres fonctions de fonctionnement de chaîne, nous pouvons facilement générer des codes de vérification contenant des lettres, des nombres et des symboles.

3. Étapes spécifiques pour générer du code de vérification

Le processus de génération de codes de vérification peut être divisé en étapes suivantes:

  • Définissez le jeu de caractères des codes de vérification

  • Utilisez str_shuffle () pour perturber le jeu de caractères

  • Intercepter une chaîne d'une certaine longueur du jeu de caractères perturbé

  • Renvoie le code de vérification généré

Voici un exemple de mise en œuvre spécifique:

 <span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// Définir les jeux de caractères,Peut contenir des lettres et des numéros en majuscules et majuscules</span></span><span>
</span><span><span class="hljs-variable">$charset</span></span><span> = </span><span><span class="hljs-string">'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'</span></span><span>;

</span><span><span class="hljs-comment">// Définir la longueur du code de vérification</span></span><span>
</span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-number">6</span></span><span>;

</span><span><span class="hljs-comment">// utiliserstr_shufflePerturber le jeu de caractères</span></span><span>
</span><span><span class="hljs-variable">$shuffled</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_shuffle</span></span><span>(</span><span><span class="hljs-variable">$charset</span></span><span>);

</span><span><span class="hljs-comment">// Avant d&#39;intercepter6Caractères comme code de vérification</span></span><span>
</span><span><span class="hljs-variable">$captcha</span></span><span> = </span><span><span class="hljs-title function_ invoke__">substr</span></span><span>(</span><span><span class="hljs-variable">$shuffled</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-variable">$length</span></span><span>);

</span><span><span class="hljs-comment">// Code de vérification de sortie</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">'Le code de vérification généré est:'</span></span><span> . </span><span><span class="hljs-variable">$captcha</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>

4. Analyse de code

  1. Définition du jeu de caractères: nous définissons une chaîne $ caractéristique contenant des lettres majuscules, des lettres et des numéros minuscules, qui est le jeu de caractères de base pour générer des codes de vérification. Vous pouvez également ajouter d'autres caractères en fonction de vos besoins, tels que des symboles spéciaux, etc.

  2. STR_SHUXH () Fonction: Nous passons l'ensemble de caractères dans la fonction str_shuffle () , perturbons l'ordre des caractères et renvoyons une nouvelle chaîne. De cette façon, l'ordre des personnages est complètement aléatoire.

  3. Interception Code de vérification: utilisez la fonction substr () pour intercepter le code de vérification de la longueur spécifiée de la chaîne désordonnée. Dans cet exemple, nous définissons la longueur du code de vérification sur 6 caractères.

  4. Code de vérification de sortie: Enfin, le code de vérification généré est sorti sur la page ou renvoyé au client.

5. Résumé

En utilisant la fonction str_shuffle () , il est très facile de générer un code de vérification aléatoire. Vous pouvez ajuster la longueur du jeu de caractères ou du code de vérification en fonction de vos besoins pour améliorer la sécurité du code de vérification. S'il est nécessaire d'améliorer la complexité du code de vérification, vous pouvez envisager d'ajouter des caractères spéciaux, d'augmenter la durée du code de vérification ou de combiner le code de vérification graphique pour empêcher davantage les attaques malveillantes.

J'espère que cet article peut vous aider à comprendre comment utiliser la fonction Str_Shuffle () de PHP pour réaliser la génération de codes de vérification aléatoire!