ホームページ バックエンド開発 PHPチュートリアル GDライブラリは画像検証コードを生成します

GDライブラリは画像検証コードを生成します

Oct 22, 2019 pm 01:32 PM
gdライブラリ

私たちは検証コードに精通しているわけではありません。検証コードは、ログインと登録、フォーラムのフラッディング、チケットのブラッシング、パスワードのクラッキングなど、どこにでも見られます。その主な機能は、マシンのリクエストをブロックし、ビジネスの妨害から保護することです。マシンの送信リクエスト。

最も一般的な英数字の確認コードと干渉点と干渉線を使用して、確認コードのデモを作成しましょう。これは、GD ライブラリを使用して生成されます。インストールしていない場合は、Google に自分でインストールしてください。 . 、およびインストールされ有効になっているかどうかを確認する方法については、phpinfo ページで GD ライブラリを直接検索してください。

#結果は以下に示すとおりです。

フロントページGDライブラリは画像検証コードを生成します

<?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/imghw/default1.png"  data-src="code.php?r=<?php echo rand()? alt="GDライブラリは画像検証コードを生成します" >"  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>
ログイン後にコピー

バックエンドページ

<?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);
ログイン後にコピー

以上がGDライブラリは画像検証コードを生成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHPでのGDライブラリ操作ガイド PHPでのGDライブラリ操作ガイド May 20, 2023 pm 02:40 PM

1. GDライブラリとは何ですか? GD ライブラリは、さまざまな画像形式を作成および処理するためのライブラリ関数のセットで、PHP で最もよく使用される画像処理ライブラリの 1 つです。 2. GD ライブラリのインストール CentOS/RedHat に GD ライブラリをインストールします 1. PHP の GD 拡張ライブラリ yuminstallphp-gd をインストールします 2. Web サーバー サービスを再起動します httpdrestart 3. PHP でサポートされている GD ライブラリのバージョンを確認します php-i | Ubunt の grep-igd

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 11:52 AM

PHP および GD ライブラリを使用して画像の回転を実装する方法 画像の回転は一般的な画像処理要件であり、画像を回転することで特殊効果を実現したり、ユーザーのニーズを満たすことができます。 PHP では、GD ライブラリを使用して画像の回転機能を実装できます。この記事では、PHP と GD ライブラリを使用して画像の回転を実装する方法をコード例とともに紹介します。まず、PHP 環境に GD ライブラリ拡張機能がインストールされていることを確認してください。コマンドラインに php-m と入力して、gd モジュールがあるかどうかを確認します。ない場合は、最初にインストールする必要があります。ここでは簡単な

PHPとGDライブラリを使って角丸画像を実現する方法 PHPとGDライブラリを使って角丸画像を実現する方法 Jul 12, 2023 am 09:21 AM

PHPとGDのライブラリを使って角丸画像を実現する方法の紹介 Webデザインではページの見た目を美しくするために角丸画像を使用する必要がある場合があります。この記事では、PHPとGDライブラリを使って丸みのある画像を実装する方法を紹介します。 GD ライブラリは、PHP 拡張ライブラリの 1 つであり、画像を処理するための一連の関数を提供します。 GDライブラリを使用すると、画像のトリミング、サイズ変更、フィルターの追加などを行うことができます。丸みを帯びた画像を実現するには、画像処理用の GD ライブラリのいくつかの関数を使用する必要があります。以下は、角が丸い画像を実現するための具体的な手順です。

PHP と GD ライブラリを使用して画像サムネイルを作成する手順 PHP と GD ライブラリを使用して画像サムネイルを作成する手順 Jul 12, 2023 am 08:03 AM

タイトル: PHP と GD ライブラリを使用して画像のサムネイルを作成する手順 はじめに: Web 開発では、さまざまなページ レイアウトに適応させるために画像をサムネイル化する必要があることがよくあります。この記事では、PHP と GD ライブラリを使用して画像のサムネイルを作成する方法の手順を紹介し、関連するコード例を添付します。 1. GD ライブラリのインストールと設定 GD ライブラリは画像処理用のライブラリであり、いくつかの簡単な関数を使用して画像を処理できます。始める前に、GD ライブラリが適切にインストールされ、構成されていることを確認する必要があります。 GDライブラリがインストールされているか確認: PHPスクリプトで実行

PHP および GD ライブラリを使用して画像のトリミングを実装する方法 PHP および GD ライブラリを使用して画像のトリミングを実装する方法 Jul 14, 2023 am 08:57 AM

PHP および GD ライブラリが画像のトリミングを実装する方法の概要: 画像のトリミングは、Web 開発における一般的な要件の 1 つです。これを使用して、画像のサイズを調整し、不要な部分をトリミングして、さまざまなページ レイアウトや表示ニーズに適応できます。 PHP開発ではGDライブラリを利用して画像のトリミング機能を実現できます。 GD ライブラリは、画像を処理および操作するための一連の関数を提供する強力なグラフィック ライブラリです。コード例: 以下では、PHP と GD ライブラリを使用して画像のトリミングを実装する方法を詳しく紹介します。まず、PHP 環境が

PHPとGDライブラリを使用してランダムな背景画像を生成する PHPとGDライブラリを使用してランダムな背景画像を生成する Jul 13, 2023 pm 12:30 PM

PHP および GD ライブラリを使用して、ランダムな背景画像を生成します。ランダムな背景画像は Web デザインにおいて重要な役割を果たし、ページの美しさと魅力を高めることができます。この記事では、PHP と GD ライブラリを使用してランダムな背景画像を生成する方法を紹介します。 GD ライブラリは、PHP で画像を作成、編集、操作できる画像処理用の PHP 拡張モジュールです。 GD ライブラリの強力な機能を組み合わせることで、さまざまなスタイルのランダムな背景画像を簡単に生成できます。まず、GD ライブラリをサーバーにインストールする必要があります。次のコマンドで確認できます

PHP および GD ライブラリのチュートリアル: 画像にぼかし効果を追加する方法 PHP および GD ライブラリのチュートリアル: 画像にぼかし効果を追加する方法 Jul 12, 2023 pm 01:51 PM

PHP および GD ライブラリのチュートリアル: 画像にぼかし効果を追加する方法 概要: Web 開発では、多くの場合画像を処理する必要があり、その 1 つはぼかし効果の追加です。 PHP は、画像を簡単にぼかすことができる強力な GD ライブラリを提供します。このチュートリアルでは、PHP と GD ライブラリを使用して画像にぼかし効果を追加する方法をコード例とともに示します。ステップ 1: GD ライブラリをセットアップする GD ライブラリを使用するには、GD ライブラリが PHP で有効になっていることを確認する必要があります。次のコードを使用して、GD ライブラリが有効になっているかどうかを確認できます。

See all articles