ホームページ  >  記事  >  バックエンド開発  >  PHP 検証コード コード例_PHP チュートリアル

PHP 検証コード コード例_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:38:47937ブラウズ

ユーザーログインのセキュリティを強化するために、登録やログインなどのユーザー認証ページを作成する際に、認証コードの検証を追加します。
検証コードは GD を通じて PNG 画像を生成し、$randval 乱数を $_SESSION[login_check_num] に割り当て、ユーザーが入力した $_POST と比較して正しいかどうかを判断します。実装する必要がある機能を実現するには、php が GD ライブラリをサポートするように php.ini ファイルを変更する必要があります。
//このページを呼び出し、以下の式が真であれば検証コード画像が生成されます
if($_GET["アクション"]=="コードの検証")
{
ランド作成(); }
//検証コード画像生成
関数 rand_create()
{
//PNG画像が出力されることをブラウザに通知します
Header("コンテンツタイプ: 画像/PNG"); //乱数ジェネレーターのシードを準備します
srand((double)microtime()*1000000); //画像の関連パラメータを準備します
$im = imagecreate(62,20); $black = ImageColorAllocate($im, 0,0,0) //RGB 黒識別子
$white = ImageColorAllocate($im, 255,255,255) //RGB ホワイト識別子
; $gray = ImageColorAllocate($im, 200,200,200); //RGB グレー識別子
//描画を開始します
イメージフィル($im,0,0,$gray); While(($randval=rand()%100000) $_SESSION["login_check_num"] = $randval; // 4 桁の整数の検証コードを画像にプロットします
画像文字列($im, 5, 10, 3, $randval, $black); }
//干渉ピクセルを追加します
for($i=0;$i $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); imagesetpixel($im, rand()%70, rand()%30, $randcolor); }
//検証画像を出力します
画像PNG($im)
//画像識別子を破棄します
画像破壊($im); }
// 確認コードを確認する
関数 rand_check()
{
If($_POST["reg_rand"] == $_SESSION["login_check_num"]){
true を返します
}
他{
exit("認証コード入力エラー"); }
}
?>





http://www.bkjia.com/PHPjc/486454.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/486454.html

技術記事

ユーザーログインのセキュリティを強化するために、登録やログインなどのユーザー認証ページを作成するときに、認証コードの検証を追加します。 検証コードは GD を通じて PNG 画像を生成し、$randval をランダム化します...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。