tp5 確認コードクラス ファイルは extend/other/Captcha.php にあります<br>
<br>
<br>
<br>
//コントローラーで検証コードを取得します<br>
パブリック関数 get_captcha(){ <br>
// memcheck を使用してセッションをセットアップします <br>
Session::init(['prefix'=> 'wll_','type'=> '','auto_start' => true]);<br>
$captcha = new otherCaptcha(86,48,4);<br>
echo $captcha->showImg();
Session::set('code',$captcha->getCaptcha());<br>
終了<br>
}<br>
<br>
<br>
<br>
<br>
モジュール内: <img class="code-img lazy" src="/static/imghwm/default1.png" data-src="__WEBSITE__/public/index.php/seller/login/get_captcha" title="クリックして確認コードを更新" onclick="this.+Math.random();" alt="tp5 確認コード" ><br>
<br>
<br>
<br>
<br>
echo Session::get('code','wll_'); 出力検証コード<br>
<br>
<br>
以下は、Captcha.php クラス <br> です。
<?php <br />
その他の名前空間;<br>
クラスキャプチャ{<br>
private $width;<br>
private $height;<br>
プライベート $codeNum;<br>
プライベート $code;<br>
プライベート $im;<br>
//初期化<br>
関数 __construct($width=80, $height=20, $codeNum=4){<br>
$this->width = $width;<br>
$this->height = $height;<br>
$this->codeNum = $codeNum;<br>
}<br>
// 確認コードを表示<br>
関数 showImg(){<br>
// 画像を作成します
$this->createImg();<br>
//干渉要素を設定します<br>
$this->setDisturb();<br>
//確認コードを設定します<br>
$this->setCaptcha();<br>
// 画像を出力
$this->outputImg();<br>
}<br>
<br>
//表示された認証コードを取得し、認証コードのデータが正しいかどうかを検証します<br>
関数 getCaptcha(){<br>
return $this->code;<br>
}<br>
<br>
//画像を作成<br>
プライベート関数 createImg(){<br>
$this->im = imagecreatetruecolor($this->width, $this->height);<br>
$bgColor = imagecolorallocate($this->im, 255, 255, 255);//作成された前景は白です<br>
Imagefill($this->im, 0, 0, $bgColor);<br>
}<br>
<br>
//干渉要素を設定します<br>
プライベート関数 setDisturb(){<br>
$area = ($this->幅 * $this->高さ) / 20;<br>
$disturbNum = ($area > 250) : $area;<br>
//干渉を追加します<br>
for ($i = 0; $i
$color = imagecolorallocate($this->im, rand(0, 255), rand(0, 255), rand(0, 255));<br>imagesetpixel($this->im, rand(1, $this->width - 2), rand(1, $this->height - 2), $color);<br>
}<br>
// 円弧を追加<br>
for ($i = 0; $i
$color = imagecolorallocate($this->im, rand(128, 255), rand(125, 255), rand(100, 255));<br>
imagearc($this->im, rand(0, $this->width), rand(0, $this->height), rand(30, 300), rand(20, 200), 50, 30 、$color);<br>
}<br>
}<br>
//認証コードに乱数を設定<br>
プライベート関数 createCode(){<br>
$str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKMNPQRSTUVWXYZ";<br>
for ($i = 0; $i codeNum; $i++) {<br>
$this->code .= $str{rand(0, strlen($str) - 1)};<br>
}<br>
}<br>
//確認コードを設定します<br>
プライベート関数 setCaptcha(){<br>
// 認証コードの乱数を設定します
$this->createCode();<br>
//テキストの前景<br>
$color = imagecolorallocate($this->im, rand(50, 250), rand(100, 250), rand(128, 250));<br>
//imagechar の最大テキストフォントは 5 であるため、フォントが小さすぎるため、このメソッドは使用されません<br>
// imageChar($ this-&gt; im、$ size、$ x、$ y、$ this-&gt; code {$ i}、$ color);
//imagechar の最大テキスト フォントは 5 であり、ここではより大きなテキストを表示する必要があるため、imagefttext <br> を使用します
imagefttext($this->im,30,0,10,35,$color,'static/pc/fonts/monofont.ttf',$this->code);//画像リソース、サイズ、角度、x -軸、y軸、色、フォントパス、テキスト挿入画像<br>
}<br>
//画像を出力<br>
プライベート関数outputImg(){<br>
if (imagetypes() & IMG_JPG) {<br>
header('Content-type:image/jpeg');<br>
Imagejpeg($this->im);<br>
} elseif (imagetypes() & IMG_GIF) {<br>
header('Content-type: image/gif');<br>
Imagegif($this->im);<br>
} elseif (imagetype() & IMG_PNG) {<br>
header('Content-type: image/png');<br>
Imagepng($this->im);<br>
} else {<br>
die("画像タイプをサポートしていません!");<br>
}<br>
}//終了<br>
}<br> <br>広告: 本当に無料、ドメイン名 + 仮想マシン + 企業メール = 0 元 <br>
<br>

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ドリームウィーバー CS6
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
