検証コードは WEB アプリケーションでは非常に重要で、通常、悪意のある登録やログイン、悪意のあるフォーラムのスパムなど、ユーザーが悪意を持ってフォームを送信するのを防ぐために使用されます。 、など。この記事では、数値検証コード、数値 + 文字検証コード、中国語検証コード、算術検証コードなどを含むさまざまな一般的な検証コードを生成するための PHP の使用法と、Ajax 検証プロセスについて例を使用して説明します。
PHPは検証コード画像を生成します
PHP が検証コードを生成する原理: PHP の GD ライブラリを使用して検証コードを含む画像を生成し、検証コードをセッションに保存します。
PHP で検証コードを生成する一般的なプロセスは次のとおりです:
1. PNG画像を生成します。
2. 画像の背景色を設定します。3.フォントの色とスタイルを設定します。
4. 4 桁のランダムな確認コードを生成します。
5.生成された各文字の回転角度と位置を調整して、PNG画像上に描画します。
7. 画像を出力します。
8. 写真が占めていたメモリを解放します。
例:
コードでは、カスタム関数 getCode() で検証コードの生成プロセスが説明されています。 PHP GD ライブラリに付属する画像処理機能を使用すると、さまざまな画像効果を簡単に生成できます。
imagecreate(): 新しい画像を作成します imagecolorallocate(): 画像に色を割り当てます imagefill(): 画像を埋める
imagerectangle(): 長方形(枠線)を描画しますimagesetstyle(): 線画スタイルを設定します
imageline(): 線分を描画します
imagesetpixel(): ピクセルを描画します
imagepng(): 画像をブラウザまたはファイルに PNG 形式で出力します
imagedestroy(): 画像が占有しているメモリを解放します
簡単に呼び出せるように、上記のコードを code_num.php として保存します。
Ajax の更新と検証
検証コードが生成された後、それを実際のプロジェクトに適用する必要があります。通常、検証コードをクリックすると更新され、新しい検証コードが生成されます (生成された検証コードは肉眼では識別しにくい場合があります)。 、つまり、「はっきり見えないので、別の「開いたもの」に変更します」。検証コードを入力した後、検証コードが正しいかどうかを検証する必要があります。検証プロセスはバックグラウンド プログラムによって完了しますが、ajax を使用して更新なしの検証を実現することもできます。
フロントエンド ページのindex.htmlを作成し、jqueryをロードし、検証コードのフォーム要素を本文に追加します。 リーリー HTML コードでは、検証コードを更新するということは、実際には検証コード生成プログラムを再リクエストすることを意味します。ここで注意すべき点は、code_num.php を呼び出すときに、キャッシュを防ぐためにランダムなパラメーターを指定する必要があるということです。次に、確認コードを入力した後、「送信」ボタンをクリックすると、フロントエンドは $.post() を通じて、バックグラウンドの chk_code.php に ajax リクエストを送信します。
リーリー
バックエンドchk_code.phpの検証:
リーリー
バックグラウンドは、送信された検証コードとセッションに保存された検証コードの比較に基づいて検証を完了します。他の検証の生成と使用についても、開発者は必要に応じて複数のスタイルのランダム検証コードを生成できます。この記事のデモでは、数値検証コード、数字 + 文字検証コード、中国語検証コードの模倣が提供されます。 Google認証コード、算術認証コードなど紙面の都合上、その他の認証コードの生成コードは省略しておりますので、ご了承ください。
興味がありそうな記事: