10年前に最初に公開されたこのチュートリアルは、ランダムなCaptchasを生成するための最新のコードで完全に更新されました。ディスカッションスレッドの多くのコメントは、時代遅れのコードを参照しています。
プロセスの自動化は、コンピューターの速度と精度を活用して、コーディングの重要な利点です。ただし、このパワーは、スパムやパスワードのクラッキングなどの悪意のあるアクティビティで誤用される可能性があります。このチュートリアルは、スパムアンチスパム技術に焦点を当てています。
連絡先フォームのあるWebサイトを検討してください。正当なユーザーにとって便利ですが、自動化されたスパムの提出に対して脆弱です。ボットは、フォーム、フォーラム、またはスパムリンクを使用したコメントセクションを洪水にすることができます。
解決策?ボットを人間と区別するテスト:PHPフォームと統合されたキャプチャ。伝統的なキャプチャは、画像内に歪んだテキストを提示します。人間はそれを読むことができますが、ボットは通常できません。これにより、元のCaptchaテキストに対するユーザー入力が検証されます。 Captchaは、「完全に自動化されたパブリックチューリングテストで、コンピューターと人間を引き離す」ことを表しています。
このチュートリアルでは、Captchaを連絡先フォームに作成および統合することを示しています。
キャプチャを作成します
PHP GDライブラリを使用します。以前のチュートリアルでは、GDのテキストと形状の描画機能について説明します。また、Captcha用のランダムな文字列も生成します。
ランダムな文字列を生成します
このコードはcaptcha.php
にあります。 generate_string()
関数は、ランダム文字列を作成します。元のgenerate_string()
関数は、より安全なrandom_int()
に置き換えられています。
Captchaの背景を作成します
次に、5つのさまざまな色を使用して、Captcha画像の背景(200x50ピクセル)を生成します。
ランダム$red
、 $green
、 $blue
値がベースの色を決定します。ループは、 $colors
アレイに保存された暗い色合いを作成します。最も明るい色が背景を満たし、その後の長方形が複雑さを加えます。
Captcha文字列をレンダリングします
最後に、ランダムな文字列を背景に描画します。文字の色、Y座標、および回転は、難易度を高めるためにランダム化されます。
ダウンロードされたフォントは、文字のバリエーションを提供します。パディング(15ピクセル)が追加され、残りのスペースは文字間で均等に分割されます。
Captchaを連絡先フォームに統合します
次に、Captchaを連絡先フォームに統合しましょう(既存の連絡先フォームがあると仮定します)。セッションを使用して、Captchaテキストを保存および検証します。
完全なcaptcha.php
コード:
連絡先フォームの「メッセージの送信」ボタンの上にこのHTMLを追加します。
<div class="elem-group"> <label for="captcha">Captchaテキストを入力してください</label> <img src="/static/imghwm/default1.png" data-src="https://img.php.cn/?x-oss-process=image/resize,p_40" class="lazy" alt="PHPでカスタムキャプチャと連絡フォームを作成します"> <i class="fas fa-redo refresh-captcha"></i> </div>
このJavaScriptを追加して、Captchaをリフレッシュできるようにします。
var refressbutton = document.queryselector( "。refresh-captcha"); refreshbutton.onclick = function(){ document.QuerySelector( "。CAPTCHA-IMAGE")。src = 'captcha.php?' date.now(); };
最後に、連絡先フォーム処理スクリプト( contact.php
)を更新して、captchaを検証します。
あなたは間違ったキャプチャに入りました。 '; } } それ以外 { エコー '<p>何かがうまくいかなかった</p>'; } ?>
これにより、ユーザーの入力がセッションで保存されたCaptchaテキストと一致するかどうかを確認します。
結論
このチュートリアルは、カスタムPHP Captchaを作成し、連絡先フォームに統合し、更新ボタンでセキュリティとユーザーエクスペリエンスを向上させました。これは、数学の問題など、さまざまなCaptchaメソッドを使用するように適応できます。より高度な機能については、Codecanyonのプラグインを使用することを検討してください。
以上がPHPでカスタムキャプチャと連絡フォームを作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

まだ人気があるのは、使いやすさ、柔軟性、強力なエコシステムです。 1)使いやすさとシンプルな構文により、初心者にとって最初の選択肢になります。 2)Web開発、HTTP要求とデータベースとの優れた相互作用と密接に統合されています。 3)巨大なエコシステムは、豊富なツールとライブラリを提供します。 4)アクティブなコミュニティとオープンソースの性質は、それらを新しいニーズとテクノロジーの傾向に適応させます。

PHPとPythonはどちらも、Web開発、データ処理、自動化タスクで広く使用されている高レベルのプログラミング言語です。 1.PHPは、ダイナミックウェブサイトとコンテンツ管理システムの構築によく使用されますが、PythonはWebフレームワークとデータサイエンスの構築に使用されることがよくあります。 2.PHPはエコーを使用してコンテンツを出力し、Pythonは印刷を使用します。 3.両方ともオブジェクト指向プログラミングをサポートしますが、構文とキーワードは異なります。 4。PHPは弱いタイプの変換をサポートしますが、Pythonはより厳しくなります。 5. PHPパフォーマンスの最適化には、Opcacheおよび非同期プログラミングの使用が含まれますが、PythonはCprofileおよび非同期プログラミングを使用します。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

PHPは、多数のWebサイトとアプリケーションをサポートし、フレームワークを通じて開発ニーズに適応するため、近代化プロセスで依然として重要です。 1.PHP7はパフォーマンスを向上させ、新機能を紹介します。 2。Laravel、Symfony、Codeigniterなどの最新のフレームワークは、開発を簡素化し、コードの品質を向上させます。 3.パフォーマンスの最適化とベストプラクティスは、アプリケーションの効率をさらに改善します。

phphassiblasifly-impactedwebdevevermentandsbeyondit.1)itpowersmajorplatformslikewordpratsandexcelsindatabase interactions.2)php'sadaptableability allowsitale forlargeapplicationsusingframeworkslikelavel.3)

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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

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