認証コード座標の値について
----------------------------------------------------- --------- ------コード---------------------- ----------- -----------
$image_width=70; //画像の幅を設定
$image_height=18; //画像の高さを設定
$new_number=1234;
$num_image=imagecreate($image_width,$image_height); //キャンバスを作成します
imagecolorallocate($num_image,255,255,255); //キャンバスの色を設定します
for($i=0;$i
$x=mt_rand(1 ,8)+$image_width*$i/4; //ランダムな文字位置の X 座標を設定します
$y=mt_rand(1,$image_height/ 4); //ランダムな文字の位置の Y 座標を設定します
$color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)); //文字の色を設定します🎜> imagestring($num_image,$font,$x,$y,$new_number [$i],$color); //水平方向の出力文字
}
imagepng($num_image); PNG 形式で画像を生成します
imagedestroy($num_image) //画像リソースを解放します
-------------------------- ------------------------ コード -------------------------
$x=mt_rand(1,8)+$image_width*$i/4; / /ランダムな文字の位置の X 座標を設定します
$y=mt_rand(1,$image_height/4) ); // ランダムな文字の位置の Y 座標を設定します
$x,$y なぜこのように取られるのでしょうか?それはランダムですか、それともパターンがありますか?パターンがある場合は説明してください
-----解決策------ - --
この位置は任意に選択できますしかし、理論的には、検証コードの文字がサイドラインを超えることはできず、そうでない場合は認識されないと考えられます
一般に、検証コードが表示される位置はランダムである必要があり、サイドラインを超えてはいけません
これにより、マシンスクリプトによって解読される可能性が低くなります