Maison > développement back-end > tutoriel php > Comment intégrer la fonction de vérification du code de vérification dans le formulaire PHP

Comment intégrer la fonction de vérification du code de vérification dans le formulaire PHP

WBOY
Libérer: 2023-06-24 09:34:01
original
1629 Les gens l'ont consulté

Avec le développement rapide d'Internet, l'enregistrement et la connexion des utilisateurs du site Web sont devenus des fonctions essentielles. Cependant, afin de protéger la sécurité des comptes des utilisateurs, nous devons prendre certaines mesures pour prévenir les attaques malveillantes et les comportements de piratage. Parmi eux, la fonction de vérification du code de vérification est une mesure courante pour empêcher les robots et les robots d'exploration de Web.

L'intégration de la fonction de vérification du code de vérification dans les formulaires PHP peut prévenir efficacement les robots et les attaques malveillantes et améliorer la sécurité du site Web. Ci-dessous, nous présenterons comment intégrer la fonction de vérification du code de vérification dans le formulaire PHP :

Étape 1 : Générer le code de vérification

Tout d'abord, nous devons générer le code de vérification et l'enregistrer côté serveur pour une vérification ultérieure. Vous pouvez utiliser la bibliothèque GD de PHP pour générer des images de code de vérification.

Le code d'implémentation spécifique est le suivant :

session_start(); // 开启会话

$length = 4; // 验证码长度
$width = 80; // 验证码宽度
$height = 30; // 验证码高度

$chars = 'abcdefghjklmnpqrstuvwxyz123456789'; // 验证码字符集合
$chars_length = strlen($chars);

$code = '';
for ($i = 0; $i < $length; $i++) {
  $code .= $chars[mt_rand(0, $chars_length - 1)];
}

$_SESSION['code'] = md5($code); // 将验证码保存到会话中

$image = imagecreatetruecolor($width, $height); // 创建画布
$background_color = imagecolorallocate($image, 255, 255, 255); // 设置背景颜色
imagefill($image, 0, 0, $background_color);

$fonts = ['arial.ttf', 'arialbd.ttf', 'ariali.ttf', 'arialbi.ttf']; // 设置字体集合
$font_colors = [
  imagecolorallocate($image, 55, 154, 196),
  imagecolorallocate($image, 250, 89, 84),
  imagecolorallocate($image, 200, 138, 45),
  imagecolorallocate($image, 82, 184, 76)
]; // 设置字体颜色集合

for ($i = 0; $i < $length; $i++) {
  $font = $fonts[mt_rand(0, count($fonts) - 1)];
  $font_color = $font_colors[mt_rand(0, count($font_colors) - 1)];
  imagettftext($image, 18, mt_rand(-30, 30), $width / $length * $i + mt_rand(0, 10), $height / 2 + mt_rand(-5, 5), $font_color, $font, $code[$i]);
}

header('Content-type: image/png'); // 设置验证码图片类型为png
imagepng($image); // 输出验证码图片
imagedestroy($image); // 释放内存
Copier après la connexion

Utilisez le code ci-dessus pour générer une image de code de vérification d'une longueur de 4 et enregistrez-la dans la session.

Étape 2 : Afficher le code de vérification

Après avoir généré le code de vérification, nous devons afficher le code de vérification dans le formulaire et laisser l'utilisateur saisir le code de vérification. L'implémentation spécifique peut afficher le code de vérification en ajoutant une balise d'image au formulaire HTML.

Le code d'implémentation spécifique est le suivant :

<img src="captcha.php" alt="验证码">
<input type="text" name="captcha" required>
Copier après la connexion

Dans cet exemple, une zone de texte nommée "captcha" est utilisée pour recevoir le code de vérification saisi par l'utilisateur et le définir comme champ obligatoire.

Étape 3 : Vérifiez le code de vérification

Une fois que l'utilisateur a soumis le formulaire, nous devons utiliser le code PHP pour vérifier si le code de vérification saisi par l'utilisateur est correct. L'implémentation spécifique peut déterminer si le code de vérification est correct en lisant le code de vérification enregistré dans la session et en le comparant au code de vérification saisi par l'utilisateur.

Le code d'implémentation spécifique est le suivant :

session_start(); // 开启会话

if ($_SESSION['code'] != md5($_POST['captcha'])) {
  echo '验证码错误';
  exit;
}
Copier après la connexion

Dans le code ci-dessus, déterminez d'abord si le code de vérification enregistré dans la session est le même que le code de vérification saisi par l'utilisateur. S'ils ne sont pas identiques, affichez « Erreur de code de vérification » et quittez le programme.

Grâce aux trois étapes ci-dessus, nous avons intégré avec succès la fonction de vérification du code de vérification, améliorant ainsi la sécurité du site Web.

Résumé

L'intégration de la fonction de vérification du code de vérification dans les formulaires PHP peut prévenir efficacement les robots et les attaques malveillantes et améliorer la sécurité du site Web. Cet article décrit comment générer une image de code de vérification via PHP et l'enregistrer dans la session ; comment afficher le code de vérification dans un formulaire HTML ; et comment utiliser le code PHP pour vérifier que le code de vérification saisi par l'utilisateur est correct. Dans les projets réels, les développeurs peuvent améliorer le code ci-dessus en fonction de besoins spécifiques pour obtenir une fonction de vérification du code de vérification plus sécurisée et plus efficace.

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal