src="YanZhengMa.php?act=init"> if(isset($HTTP_POST_VARS["sub"])): if($HTTP_POST_VARS["number"] != $HTTP_SESSION_VARS[login_check_number] || empty($HTTP_POST_VARS["number") ])){ echo "検証コードが間違っています!" ; }else{ echo "検証コードが成功しました!"; show_source(' test .php'); //上記ページのソースコード//以下は検証コードを生成するソースコードですshow_source('YanZhengMa.php' ); ?> ; session_register("login_check_number"); 昨夜、確認コードの影響を確認しました。それについて考えて、PHP の GD を使用しました。ライブラリは同様の機能を完了しました//最初に背景を生成し、生成された検証コードをその上に配置します$img_height=120; //最初に背景の長さと幅を定義します。 image$img_width=40; if($HTTP_GET_VARS["act"]== "init"){ //srand(microtime() * 100000);//PHP420 以降、srand は使用されません必要な for($Tmpa=0;$ Tmpa $nmsg.=dechex(rand(0,15)) }//by sports98 $HTTP_SESSION_VARS[login_check_number] = $nmsg ; //$HTTP_SESSION_VARS[login_check_number] = strval(mt_rand("1111","9999")); // 4 桁の乱数を生成しますそしてそれをセッションに入れます //誰がそれを行うことができますか? 文字と数字を同時に生成することが可能であることを付け加えておきたいと思います。 ? ----sports98 によって完了 $aimg = imageCreate($img_height,$img_width); //画像を生成 ImageColorAllocate($aimg, 255,255,255); //画像の背景色、ImageColorAllocate No. 1初めて色を定義すると、PHP はそれを背景色と見なします $black = ImageColorAllocate($aimg, 0,0,0) //必要な黒を定義します ImageRectangle($aimg,0, 0,$img_height-1 ,$img_width-1,$black);//まず、画像を囲む黒い四角形を作成します //実際には、雪の結晶の背景を生成します。画像上のいくつかのシンボル for ($i =1; $i ,imageColorAllocate($aimg,mt_rand(200,255),mt_rand(200,255) ,mt_rand(200,255)))); 。それらを「乱雑でカラフル」に見せるには、それらを 1 つずつ生成するときに、位置、色、さらにはサイズに乱数を使用する必要があります。これは rand() または mt_rand を使用して行うことができます。 } //上で背景が生成されました。次に、生成された乱数を配置します。原理は上記と同様で、乱数を1つずつ配置し、その位置、大きさ、色はすべて乱数です~~ //背景と区別するため、ここの色は以下を超えません。 200、上記の色は 200 を超えません。 200 未満 for ($i=0;$i imageString($aimg, mt_rand( 3,5),$i*$img_height/4 +mt_rand(1,10),mt_rand(1,$img_width/2), $HTTP_SESSION_VARS[ログインチェック番号][$i],imageColorAllocate($aimg,mt_rand(0,100), mt_rand(0,150),mt_rand(0,200))); } Header("Content-type: image/png") // 次のデータを次のように表示するのではなく、画像であることをブラウザに伝えます。 text ImagePng($aimg); // png 形式を生成します。 。 。ふふ、効果はかなり似ていますね。 。 。 ImageDestroy($aimg); } ?>