現在の位置: ホーム> 最新記事一覧> [PHP検証コードの実装の詳細な説明:写真を生成し、フォーム検証を実行]

[PHP検証コードの実装の詳細な説明:写真を生成し、フォーム検証を実行]

M66 2025-06-15

PHP検証コードの実装の詳細な説明:写真を生成し、フォーム検証を実行する

ネットワークセキュリティの認識の改善により、悪意のある操作と自動提出を防ぐために、Web形式で検証コードが広く使用されています。検証コードを通じて、ユーザーの操作が実際の動作であるかどうかを効果的に識別できます。この記事では、PHPを使用して検証コードを生成し、それらをフォームに統合して検証を完全に統合する方法について説明します。

1。検証コード文字列を生成します

検証コードは通常、ランダム文字のセットで構成されています。以下は、PHPを介してランダム検証コードを生成し、セッションに保存する例コードです。

<?php
session_start(); // 有効にする Session

// 検証コードの長さを定義します
$length = 4;

// 利用可能な文字を定義します
$str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$code = '';

// ランダム検証コード文字列を生成します
for ($i = 0; $i < $length; $i++) {
    $code .= $str[rand(0, strlen($str) - 1)];
}

// 保存Session,小文字フォームに変換します
$_SESSION['code'] = strtolower($code);
?>

2。検証コード写真を生成します

次に、GDライブラリを使用して、検証コード文字列を画像に描画します。

<?php
// 検証コードの画像サイズを設定します
$width = 120;
$height = 40;

// キャンバスを作成します
$image = imagecreatetruecolor($width, $height);

// 背景色を設定します
$bgColor = imagecolorallocate($image, 255, 255, 255);
imagefilledrectangle($image, 0, 0, $width, $height, $bgColor);

// テキストの色を設定します
$textColor = imagecolorallocate($image, 0, 0, 0);

// 検証コード文字列を写真に書き込みます
imagettftext($image, 20, 0, 10, 30, $textColor, 'font.ttf', $code);

// ブラウザに写真を出力します
header('Content-type:image/png');
imagepng($image);

// 無料のリソース
imagedestroy($image);
?>

上記のスクリプトを実行した後、検証コード文字を備えたPNG画像が生成されます。

3。フォームの統合検証コード

検証コード入力ボックスをHTMLフォームに追加し、検証コード画像を引用します。

検証コード画像

ユーザーがフォームを送信すると、正しい検証コードを入力する必要があり、フォーム処理スクリプトが検証します。

4.フォームを処理し、検証コードを確認します

フォーム処理スクリプト `handleform.php`で、セッションを通じてユーザーが入力した検証コードを確認します。

<?php
session_start();

// ユーザーが入力した検証コードを取得し、小文字に変換します
$code = strtolower($_POST['code']);
$sessionCode = strtolower($_SESSION['code']);

// 比較検証コード
if ($code !== $sessionCode) {
    echo '検証コード入力エラー';
    exit;
}

// 他のフォームデータの処理を続けます
// ...
?>

検証コードが一致する場合、システムはエラーメッセージをプロンプトします。試合が成功した場合、その後のフォーム処理ロジックは引き続き実行されます。

5。概要

上記の手順を通じて、PHPを使用して検証コード文字列を生成し、検証コード写真を作成し、検証のためにフォームと組み合わせる完全なプロセスを実装しました。この方法は、Webサイトのインタラクティブなセキュリティを効果的に改善し、フォームが自動スクリプトによって乱用されるのを防ぐことができます。

実際のプロジェクトでは、開発者は検証コードのキャラクタースタイル、画像干渉要素、フォントサイズなどをさらに最適化し、それにより検証コードの認識と攻撃防止機能を改善できます。