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.
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.
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.
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"><?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'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">?></span></span><span>
</span></span>
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.
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.
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.
Code de vérification de sortie: Enfin, le code de vérification généré est sorti sur la page ou renvoyé au client.
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!