ホームページ バックエンド開発 PHPチュートリアル PHP高自定义性安全验证码代码_PHP

PHP高自定义性安全验证码代码_PHP

Jun 01, 2016 pm 12:13 PM
検証コード

复制代码 代码如下:
public function captcha(){
$font_dir = $_SERVER ["DOCUMENT_ROOT"] . "your_ttf_file.ttf"; // 字体库
$img_w = 58; // 设置图片宽
$img_h = 20; // 设置图片高
$font_size = 11; // 字体大小
$angle_l = -10; // 左偏角
$angle_r = 10; // 右偏角
$code_str = "ABCDEFGHJKLMNPQRSTUVWXYZ36";
$word_len = 4; // 验证码位数
$padding = 5; // 每两个文字之间间隔
$margin = 2; // 左侧边距
$base_line = 15; // 文字基线位置
$base_line_offset = 2; // 基准线偏移量
$pixel_num = 3; // 杂点数目基数
$pixel_color= 8; // 杂点只有 $pixel_color 种颜色 总的杂点数为$pixel_num*$pixel_color
$noise_font_size = 1; // 杂点字体大小
$session_key= "my.xoyo_captcha"; //自定义session键名

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");
header("Cache-control: private");
header('Content-Type: image/png');

session_start();
$word = "";
$code_str_len = strlen($code_str) - 1;
for ($i = 0; $i $word.= $code_str[rand(0, $code_str_len)];
}
$_SESSION [$session_key] = strtolower($word);
$image = imagecreatetruecolor($img_w, $img_h);
imagefilledrectangle($image, 0, 0, $img_w - 1, $img_h - 1, imagecolorallocate($image, mt_rand(235, 255), mt_rand(235, 255), mt_rand(235, 255)));

//绘制杂点
for($i = 0; $i $noise_color = imagecolorallocate( $image, mt_rand(150,225), mt_rand(150,225), mt_rand(150,225) );
for($j = 0; $j imagestring( $image, $noise_font_size, mt_rand(-10, $img_w), mt_rand(-10, $img_h), $code_str[mt_rand(0, $code_str_len)], $noise_color );
}
}

//绘制文字
for ($i = 0; $i $color = imagecolorallocate($image, mt_rand(0, 100), mt_rand(20, 120), mt_rand(50, 150));
imagettftext($image, $font_size, mt_rand($angle_l, $angle_r), $margin, mt_rand($base_line-$base_line_offset, $base_line+$base_line_offset), $color, $font, mb_substr($word, $i, 1, 'utf-8'));
$margin += (imagefontwidth($font_size) + $padding);
}

imagepng($image);
imagedestroy($image);
exit;
}
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Google Chrome で認証コードの画像が表示されない場合はどうすればよいですか? Chrome ブラウザで認証コードが表示されません。 Google Chrome で認証コードの画像が表示されない場合はどうすればよいですか? Chrome ブラウザで認証コードが表示されません。 Mar 13, 2024 pm 08:55 PM

Google Chrome で認証コードの画像が表示されない場合はどうすればよいですか? Google Chrome を使用して Web ページにログインするために確認コードが必要になる場合があります。一部のユーザーは、画像検証コードを使用すると、Google Chrome で画像のコンテンツが適切に表示されないことに気づきます。何をすべきでしょうか? Google Chromeの認証コードが表示されない場合の対処法を以下のエディターでご紹介しますので、皆様のお役に立てれば幸いです!方法の紹介: 1. ソフトウェアに入り、右上隅の「詳細」ボタンをクリックし、下のオプションリストで「設定」を選択してに入ります。 2. 新しいインターフェースに入ったら、左側の「プライバシー設定とセキュリティ」オプションをクリックします。 3. 次に、右側の「Web サイト設定」をクリックします。

携帯電話で確認コードを受信できないのはなぜですか? 携帯電話で確認コードを受信できないのはなぜですか? Aug 17, 2023 pm 02:49 PM

携帯電話で認証コードを受信できない場合は、ネットワークの問題、携帯電話の設定の問題、携帯電話会社の問題、個人設定の問題が原因です。詳細な紹介: 1. ネットワークの問題: 携帯電話が設置されているネットワーク環境が不安定または信号が弱いため、確認コードが時間内に配信されない可能性があります; 2. 携帯電話の設定の問題: テキスト メッセージ携帯電話の音声機能が誤ってオフになったり、認証コード送信番号がブラックリストに追加され、認証コードが正常に受信されなくなったりする場合 3. 携帯電話会社側の問題、携帯電話会社側の故障や故障の可能性があります。メンテナンスにより認証コードの配信が間に合わない場合など

仮想番号は確認コードを受け取ることができますか? 仮想番号は確認コードを受け取ることができますか? Jan 02, 2024 am 10:22 AM

仮想番号は認証コードを受け取ることができ、登録時に入力した携帯電話番号が規定を満たしており、携帯電話番号が正常に接続できる限り、SMS認証コードを受け取ることができます。ただし、仮想携帯電話番号の利用には注意が必要で、Webサイトによっては仮想携帯電話番号の登録に対応していない場合があるため、正規の仮想携帯電話番号サービスプロバイダーを選択する必要があります。

PHP画像処理事例:画像の認証コード機能の実装方法 PHP画像処理事例:画像の認証コード機能の実装方法 Aug 17, 2023 pm 12:09 PM

PHP画像処理事例:画像の認証コード機能の実装方法 インターネットの急速な発展に伴い、認証コードはWebサイトのセキュリティを守る重要な手段の1つとなっています。認証コードとは、画像認識技術を利用して本人かどうかを判断する認証方法です。この記事では、PHPを使用して画像の認証コード機能を実装する方法とコード例を紹介します。はじめに 認証コードはランダムな文字を含む画像であり、ユーザーは認証に合格するには画像内の文字を入力する必要があります。検証コードを実装する主なプロセスには、ランダムな文字の生成と、文字を画像に描画することが含まれます。

認証コードではロボットを止めることはできません! Google AI はぼやけたテキストを正確に識別できますが、GPT-4 は盲目のふりをして助けを求めます 認証コードではロボットを止めることはできません! Google AI はぼやけたテキストを正確に識別できますが、GPT-4 は盲目のふりをして助けを求めます Apr 12, 2023 am 09:46 AM

「最も迷惑なのは、Web サイトにログインするときにさまざまな種類の奇妙な (または変態的な) 確認コードが表示されることです。」 さて、良いニュースと悪いニュースがあります。良いニュースは、AI がこれを行ってくれるということです。私の言うことが信じられないかもしれませんが、認識の困難さが増大する 3 つの実際のケースを以下に示します。 そして、これらは「Pix2Struct」と呼ばれるモデルによって得られる答えです。 これらはすべて正確で、一字一句正確ですか?一部のネチズンは「確かに、精度は私よりも優れています。」と嘆いています。では、それをブラウザのプラグインにすることはできるのでしょうか? ?はい、一部の人は次のように言いました。これらのケースは比較的単純ですが、微調整するだけで、その効果がどれほど強力になるかは想像できません。悪い知らせは、検証コードでは間もなくロボットを停止できなくなるということです。 (危ない危ない…)どうやってやるの? Pix2St

PHP 開発ガイド: 検証コードログインの実装 PHP 開発ガイド: 検証コードログインの実装 Jul 01, 2023 am 09:27 AM

インターネットの発展やスマートフォンの普及に伴い、認証コードによるログイン機能を採用するWebサイトやアプリが増えています。認証コードログインは、セキュリティを向上させ、悪意のある攻撃を防ぐために、正しい認証コードを入力することでユーザーの本人確認を行うログイン方法です。 PHP開発において、簡易認証コードログイン機能の実装は複雑ではなく、以下の手順で完了します。データベース テーブルの作成 まず、検証コード情報を保存するテーブルをデータベースに作成する必要があります。テーブル構造には次のフィールドを含めることができます: id: 自動インクリメント主キー phon

OCR テクノロジーを使用してさまざまな検証コードを自動的に識別し、ツールはオープンソース化されています OCR テクノロジーを使用してさまざまな検証コードを自動的に識別し、ツールはオープンソース化されています May 25, 2023 am 10:07 AM

今日は OCR アプリケーションを紹介します。ddddocr は検証コードを自動的に認識します。最初の4つのdは「daidai弟」の最初のピンインです。 [/笑い]。プロジェクトのアドレス: https://github.com/sml2h3/ddddocr。使用する場合は、pip コマンドを使用して直接インストールします (pipinstalldddddocr のみ)。 OCRの中核技術には、画像内の文字を検出する対象検出モデルと、画像内の文字をテキストに変換する文字認識モデルの2つの側面があります。最初のタイプの検証コードは最も単純で、複雑な背景画像がないため、ターゲット検出モデルを省略して、画像をテキスト認識モデルに直接送信できます。識別コードは次のとおりです。

仮想番号で認証コードを受け取る方法 仮想番号で認証コードを受け取る方法 Oct 31, 2019 pm 04:52 PM

仮想番号で認証コードを受信する方法:最初にYima認証コード受信プラットフォームに入り、次にWebサイトのメンバーとして登録し、次にSMS認証コードサービスを開いてオペレーターを選択し、最後に仮想携帯電話番号を取得して、認証コードを送信するプラットフォームを選択し、携帯電話番号を入力して[認証コードを送信する]を選択してください。

See all articles