suchen
HeimBackend-EntwicklungPHP-TutorialDie GD-Bibliothek generiert einen Bildverifizierungscode

Verifizierungscodes sind uns nicht fremd, da sie überall zu sehen sind, wie z. B. bei der Anmeldung und Registrierung, beim Überfluten von Foren, beim Ticket-Brushing, beim Knacken von Passwörtern usw. Ihre Hauptfunktion besteht darin, Maschinenanfragen zu blockieren und das Geschäft vor Störungen zu schützen Maschinenübermittlungsanfragen.

Lassen Sie uns unten eine Verifizierungscode-Demo schreiben. Sie verwendet den gängigsten alphanumerischen Verifizierungscode sowie Interferenzpunkte und Interferenzlinien. Wenn Sie ihn nicht installiert haben, installieren Sie ihn bitte Google selbst. Um festzustellen, ob es installiert und aktiviert ist, durchsuchen Sie bitte die GD-Bibliothek direkt auf der PHPInfo-Seite

Der Effekt ist wie folgt:

Die GD-Bibliothek generiert einen Bildverifizierungscode

Startseite

<?php
if(isset($_REQUEST["code"])){
    session_start();
    if(strtolower($_POST["code"])==$_SESSION["code"]){
        echo "<script>alert(&#39;正确!&#39;)</script>";
    }else{
        echo "<script>alert(&#39;错误!&#39;)</script>";
    }
}
?>
<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>验证码</title>
    <style>
        #code{
            border: 1px solid #ccc;
            vertical-align: bottom;
        }
        #refresh{
            text-decoration: none;
            font-size: .875em;
        }
    </style>
</head>
<body>
<form action="" method="post">
    <p>
        验证码:
        <img  src="/static/imghwm/default1.png"  data-src="code.php?r=<?php echo rand()? alt="Die GD-Bibliothek generiert einen Bildverifizierungscode" >"  class="lazy"   alt="" id="code">
        <a href="javascript:;" id="refresh">看不清?</a>
    </p>
    <p>
        输入验证码:
        <input type="text" name="code">
    </p>
    <input type="submit" value="提交">
    <script>
        document.getElementById("code").onclick = document.getElementById("refresh").onclick = refresh;
        function refresh() {
            document.getElementById(&#39;code&#39;).src=&#39;code.php?r=&#39;+Math.random()
        }
    </script>
</form>
</body>
</html>

Backend-Seite

<?php
//启动session
session_start();
$code = "";         //验证码字符串
$str = "qwertyuiopasdfghjklzxcvbnm1234567890";  //验证码字符取值范围[a-z0-9]
$w = 160;           //图片宽度
$h = 40;            //图片高度
$num = 4;           //验证码字符数
$dotNum = 300;      //干扰点个数
$lineNum = rand(3, 5);         //干扰线条数
$font = "./api/DejaVuSansMono.ttf";     //设置字体文件
$image = imagecreatetruecolor($w, $h);  //创建一张指定宽高的图片
$imageColor = imagecolorallocate($image, 255, 255, 255);   //设置背景图片颜色为白色
imagefill($image, 0, 0, $imageColor);  //填充图片背景
//随机验证码,包含字母和数字
for ($i = 0; $i < $num; $i++) {
    $fontColor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));  //生成随机字体颜色
    $content = substr($str, rand(0, strlen($str)), 1);      //随机取字符集中的值
    $code .= $content;
    $fontSize = rand(15, 25);                    //字体大小
    $x = $i * $w / $num + rand(5, 10);          //指定生成位置X轴偏移量
    $y = rand(20, 30);                          //指定生成位置Y轴偏移量
    imagettftext($image, $fontSize, 0, $x, $y, $fontColor, $font, $content);
}
$_SESSION["code"] = $code;  //保存验证码字符串到session中
//生成干扰点
for ($i = 0; $i < $dotNum; $i++) {
    $dotColor = imagecolorallocate($image, rand(0, 255), rand(0, 255), rand(0, 255));
    imagesetpixel($image, rand(0, $w), rand(0, $h), $dotColor);
}
//生成干扰线
for ($i = 0; $i < $lineNum; $i++) {
    $lineColor = imagecolorallocate($image, rand(0, 100), rand(0, 100), rand(0, 100));
    imageline($image, rand(0, $w), rand(0, $h), rand(0, $w), rand(0, $h), $lineColor);
}
header("content-type:image/png");
imagepng($image);
imagedestroy($image);

Das obige ist der detaillierte Inhalt vonDie GD-Bibliothek generiert einen Bildverifizierungscode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:segmentfault. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
PHP中的GD库操作指南PHP中的GD库操作指南May 20, 2023 pm 02:40 PM

一、什么是GD库?GD库是一组用于创建和处理各种图像格式的库函数,是PHP中最为常用的图像处理库之一。二、安装GD库在CentOS/RedHat下安装GD库1.安装PHP的GD扩展库yuminstallphp-gd2.重启web服务器servicehttpdrestart3.查看PHP支持的GD库版本php-i|grep-igd在Ubunt

php无法开启gd 库怎么办php无法开启gd 库怎么办Nov 18, 2022 am 10:31 AM

php无法开启gd库的解决办法:1、找到并打开php.ini配置文件;2、将“extension_dir”前面的注释符号“;”去掉;3、将其值改为ext文件夹的绝对路径即可。

利用PHP和GD库实现圆角图片的方法利用PHP和GD库实现圆角图片的方法Jul 12, 2023 am 09:21 AM

利用PHP和GD库实现圆角图片的方法介绍在网页设计中,有时需要使用圆角图片来美化页面的外观。本文将介绍如何使用PHP和GD库来实现圆角图片的方法。GD库是PHP扩展库之一,提供了一系列处理图像的函数。通过使用GD库,我们可以对图片进行裁剪、调整尺寸、添加滤镜等操作。而要实现圆角图片,我们需要利用GD库中的一些函数进行图像的处理。步骤以下是实现圆角图片的具体步

使用PHP和GD库创建图像缩略图的步骤使用PHP和GD库创建图像缩略图的步骤Jul 12, 2023 am 08:03 AM

标题:使用PHP和GD库创建图像缩略图的步骤引言:在Web开发中,图像常常需要进行缩略处理以适应不同的页面布局。本文将介绍如何使用PHP和GD库来创建图像缩略图的步骤,并附上相关代码示例。一、安装和配置GD库GD库是一个用于图像处理的库,可以使用一些简单的函数来处理图像。在开始之前,我们需要确保GD库已正确安装和配置。检查GD库是否已经安装:在PHP脚本中执

利用PHP和GD库实现图片旋转的方法利用PHP和GD库实现图片旋转的方法Jul 12, 2023 am 11:52 AM

利用PHP和GD库实现图片旋转的方法图片旋转是一个常见的图像处理需求,通过旋转图片可以实现一些特殊的效果或满足用户需求。在PHP中,可以借助GD库来实现图片旋转功能。本文将介绍如何使用PHP和GD库来实现图片旋转,并附带代码示例。首先,确保你的PHP环境已经安装了GD库拓展。在命令行中输入php-m,查看是否有gd模块,如果没有则需要先安装。下面是一个简单

PHP和GD库实现图片裁剪的方法PHP和GD库实现图片裁剪的方法Jul 14, 2023 am 08:57 AM

PHP和GD库实现图片裁剪的方法概述:图片裁剪是网页开发中常见的需求之一,它可以用于调整图片的尺寸,剪裁不需要的部分,以适应不同的页面布局和展示需求。在PHP开发中,我们可以借助GD库来实现图片裁剪的功能。GD库是一个强大的图形库,可提供一系列函数来处理和操控图像。代码示例:下面我们将详细介绍如何使用PHP和GD库来实现图片裁剪。首先,确保你的PHP环境已经

PHP和GD库指南:如何根据像素绘制图形PHP和GD库指南:如何根据像素绘制图形Jul 12, 2023 pm 11:45 PM

PHP和GD库指南:如何根据像素绘制图形引言:在Web开发中,经常需要使用图形来增强用户界面或显示特定的数据。PHP是一种流行的服务器端编程语言,它提供了GD库来处理图像。本文将详细介绍如何使用PHP和GD库根据像素绘制各种图形,并附带代码示例。内容:一、准备工作:在开始之前,请确保你已经安装了PHP和GD库。可以通过以下命令来检查是否安装:php-m|

利用PHP和GD库生成随机背景图片利用PHP和GD库生成随机背景图片Jul 13, 2023 pm 12:30 PM

利用PHP和GD库生成随机背景图片随机背景图片在网页设计中起着重要的作用,可以增加页面的美观性和吸引力。本文将介绍如何使用PHP和GD库来生成随机背景图片。GD库是一个用于图像处理的PHP扩展模块,可以在PHP中创建、编辑和操作图像。通过结合GD库的强大功能,我们可以轻松地生成各种风格的随机背景图片。首先,我们需要在服务器上安装GD库。你可以通过以下命令来检

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!