ホームページ > バックエンド開発 > PHPチュートリアル > PHPは漢字検証コードと算術検証コードを実装します

PHPは漢字検証コードと算術検証コードを実装します

WBOY
リリース: 2016-07-25 08:44:07
オリジナル
1079 人が閲覧しました
  1. 単純な数字や文字の認証コードは簡単に解読できることは誰もが知っていますが、算術認証コードや漢字の認証コードは解読するのが難しいため、
  2. そのため、認証コードを使用するときは、算術検証コードまたは漢字検証コード。
  3. 以下は私が書いた 2 つの認証コードです。役に立つ友人は参照してください:
  4. 1. 計算認証コード:
  5. session_start();
  6. header("Content-type: image/png ");
  7. $num1 = mt_rand(0,9);//最初の桁
  8. $num2 = mt_rand(1,9);//2 桁目
  9. $type_str = "+-*";/ /Method文字列コレクション
  10. $type = substr($type_str,rand(0,2),1);//ランダムメソッド
  11. $change = mt_rand(1,3);
  12. if($change==1) {
  13. $コード = "$num1$type$num2=?";
  14. $result = "\$verifyCode=$num1$type$num2;";
  15. eval($result);
  16. $_SESSION['authnum_session'] = $verifyCode ;
  17. }elseif($change==2){
  18. $result = "\$verifyCode=$num1$type$num2;";
  19. eval($result);
  20. $code = $num1.$type "_= ".$verifyCode;
  21. $_SESSION['authnum_session'] = $num2;
  22. }elseif($change==3){
  23. $result = "\$verifyCode=$num1$type$num2;";
  24. eval( $result);
  25. $code = "_".$type.$num2."=".$verifyCode;
  26. $_SESSION['authnum_session'] = $num1;
  27. }
  28. $im = imagecreate (68, 28);
  29. $black = imagecolorallocate($im, 0,0,0);
  30. $white = imagecolorallocate($im, 200,200,200); im, 255, 0, 0);
  31. imagefill($im,0,0,$white);
  32. imagestring($im, 5, 10, 8, $code, $black); 0;$i<70;$i++) {
  33. imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $black);
  34. imagesetpixel($im, mt_rand(0, 58) , mt_rand( 0, 28) , $red);
  35. imagesetpixel($im, mt_rand(0, 58) , mt_rand(0, 28) , $gray);
  36. imagepng($im);
  37. imagedestroy($im);
  38. ?>
  39. 2. 漢字確認コード:
  40. session_start();
  41. $ch_str="Discord にあるものがありますこの国の過渡期の革命を実行するために、雇用のために国産製品を使用して学生をより低いレベルに分割する必要がある多くの人々は、多くの子供たちの後、社会が追加したためです。この記事で新たに議論することは、才能、チーム、チーム、フォーム、考え方、メンタリティ、という 2 つの側面から始まります。作業、変化、要点、考え方と時間、要因、メリット、プレッシャー、行動、全体 結実期のグループ数が各拠点や髪の毛のレベルにつながるしかし、この比較は、それが最も外部的であり、森の 5 つのソリューションの管理を見ていないことを示しています。これは、四方馬のみがサブテキストを認識することを意味しますが、バーはさらに多くなります。グラムと公共の穴は流入をリードし、地区の建設検査活動は非常に教育的であり、統一されたシステムを確立し、意思決定を行っていると指摘した。さらに、チェン・バイバオは、彼が本当に熱を保ち、管理を変えるために手を委ねなければならないことを見て、病気の象を特定するために枝を修復し、古い光は6つのタイプに特化します。回を重ねるごとに回復ベルトが上がっていくことを示し、ステップ数を記載しており、ソリッドカラーからボーダーまでのスピードを高めています。清朝、書店を海から切り離す必要があり、子供の才能証明書が非常に低いため、鉄の門を実行する必要があり、郡の軍隊を排除する必要があります。今日のナイフ葉率レポートを選択して、陽徳の言葉をチェック半分の敵の最初の錠剤を選択してください石翔寿華ジュエが準備した名前赤継続平均薬マークを保存するのが難しいテスターボディタイトな液体派正確なポンド角度寸法減少プレート徐壊れた技術は、の可能性を排除するために使用されます。下のフィールドは、Hecunの作曲がYa Moの火セクションに適していないように感じます。張美豪侯草河の木の肥料は右市の厳格なカタツムリ検査に従い、左ページはソ連に抵抗し、苦い英国はすぐに悪い動きを呼び出す、黒武培珠川ヨーバカイ県の皇帝、針だけ、植え方王の目を助けるために首都、彼女は苗木をつかみ、副雑将は、酸を引き起こす古いが十分なショート剤である、ムーヤン秋チャオ医学校を分析します。宋廷魏蜀滑走站 もう一つの魏子九哥 劉魏路 范公Aブロック 某公道君限定アイテム 巻き戻し巻作成Lv 遊レット古元邦 チュピボーヨウザン 魏志 訓練と制御 刺激的な呼び出し雲 相互と割れ粒穀物母実践プラグスチールトップポリシー二重放置誤った基礎吸引ブロッキングソークンシールド後期シルク女性分散溶接ゴンズーチン病院レンチェブ雑多なビジネスビジョンアートは、激しいゼロルームのバージョンを破壊します光血回李ポンプチャジュエフーの欠如都市は地面に突入します建福珠李王潘磁力英雄は閉じ込められているようですゴン一州は奴隷側を脱ぎますランガイは距離を振り、独立した公式混合ジ・イーウェイを送るために星に緩く触れます突然広い冬の章、濡れた部分パターンを組み立てます、執行弁を食べる、鉱山村、責任ある、成熟した、安定した、ハードプライス、Nufan Qijia、仕事前のレビュー、裏の協力、綿の損傷、粉塵の侵入、槍は太かったが、Luo Muは卵に対して訴訟を起こしましたボックス、パーム酸素、愛、そして停止したソリューションキャンプはついに使い果たされ、お金が使い果たされるのを待っています、ロシアの収縮砂は後退し、チェンチーフェン装置は強制スピングルーブを利用してセルを運びます。負荷は逆さま、そしてまだああ、傷害、露、コアエッジ、旅行、振動、中央呉ドメイン、非常に急速な輝き、不均質な順序、ペーパーフリー、九里シリンダークリップ、蘭英溝Bですか?潅漑王仙順豚外国腐敗を見てください四維郭脈は尾束のように微笑むべきです強い暴力的な事業キャベツの耳チューハン癒しの緑のドラッグ牛の染料両方の秋全体鍛造翡翠の夏の治療チップ繁殖井戸肥州訪問吹栄銅エッジ召喚転がる客人のための干ばつ、脳の刺し傷を悟り、チベットに侵入し、炉の殻の亀裂、硫黄炭をあえて注文し、鋳造と棒を歓迎し、薄い10日間を探索し、幸運を味わい、選択にふけるエチケット、残りの雷を鎮め、煙を伸ばすことをいとわない、文は純粋で、徐々に耕し、沼地を駆け抜け、ゆっくりと植え、ルーチー、繁栄し、潮が円錐から落ち、船を台無しにし、ふりをしています。明るい人になる、助けを求める、ジェフアイ、貢物を断つ、莫大な富を捧げる、麻を精製する、罪深い先祖、馬車で休む、品物を着る、チーネズミを売る、絵を描く、龍に餌をやる、家を守る、漢西兄弟を歌う、老廃物を洗い流し、腹を受け入れる記録女性邪悪な太った村が危険をこすり、ベルが揺れ、コードハンドルの議論竹の谷が混乱仮想橋を売り、オバーが道路を駆け下り、エビネットが野生の遺産を静かに計画し、クラスの町が急いで耐えます心配するのに役立ちます。返品について フーチンは急いで集まって踊ります 蘇谷暁陽湖のネイルカーネルサウンドトラック 洪水死を避けるために壊れたストレッチランプ 答え 黄永峰 劉ハジエ ガンヌオグイ シアンノン島の攻撃 雷雲型、デュ楽レ、曲がりくねって分離、趙シャオ、フー・フー、トン・フェン、リン・チャイ、春呉、上定に飛び降りた、秦紹、梁を追いかけ、アルカリを失い、刃を掘り起こし、杭を打ち、胸、恒秦、映画、事件に掲載、ヤンゆっくりと突き出たイージェン四川スノーチェーンフィッシングフェイス胡羅富博リーグ購入ヤンゾンジャオサイキフィルターシリコンカーボンストック座って蒸気凝縮実際にガンに落ちる李救出暗い洞窟を危険にさらしてチューブを侵害するユーソングアーク爆発トゥウェイジンアームバリアブラウンランドああ。 Jianzun Bean Pat MoがSangpoに到着し、警察は氷とカンボジアの口について知りました。どのような種類の米とプラスチックがZhao Shoutingに送られたのか、ビーズで濡れたLun Niangの袖、女性の母親の紫色のオペラタワーを覆いました。ショックを受けたハンマー、美しく清潔な刑務所の前、暴君の疑い、激しい告訴、ブラッシング、残酷、突然の災害、喬唐の漏れ、沈没、溶けた塩素、不毛の幹、果肉の隣でひったくる男 薄一忠が歌い、孟玉が捕まえるロックは、特に呉志丹に乗り、反抗的な家畜の捕虜が錆に触れ、ガラスを掃除し、コアを宝物にし、マスター、秘密の掃除、江カルシウムショルダー、テンドライ、レールホールを投げ、お父さんを混ぜ、誘惑に従う、祝福することを可能にします、奨励、ワインロープ、貧しい池、ドライバブルバッグ、ラングフィーディングアルミニウムソフト運河穀物、慣習貿易、糞総合壁、反対側への傾向、インクブロッキング、逆荷降ろし、霧冠、ビングストリート、楽北放射腸、フージ、ルイ、驚愕、絞め、ぶら下がり、ムーランセン、シュガー、聖凹陶器、晩蚕、億の瞬間";
  42. $len = mb_strlen($ch_str,"utf-8");//漢字の長さ
  43. $str = array();
  44. for($i=0;$i $pos = mt_rand(0,$len-5);//開始位置
  45. $str[] = mb_substr($ch_str ,$pos,1,"utf-8");
  46. }
  47. $authnum_session = implode("",$str);
  48. $_SESSION['authnum_session'] = $authnum_session; //セッションに記録します
  49. Header("Content-type: image/PNG");
  50. //画像長さと高さ
  51. $image_x=100;
  52. $image_y=50;
  53. $im = imagecreate($image_x,$image_y);
  54. //ここの画像の背景色は白です
  55. $bkg = ImageColorAllocate($im, 255,255,255) ;
  56. //表示されるフォント スタイルには、対応するディレクトリにファイルを配置する必要があります。ファイルがない場合は、ウィンドウ フォント ファイルに移動して探します。
  57. $fnt = "simhei.ttf";
  58. //画像にいくつかの色を割り当てます
  59. $white=ImageColorAllocate($im,234,185,95);
  60. //画像上に楕円弧を描き、下側の座標点を指定します
  61. imagearc($im, 150, 8, 20, 20, 75, 170, $white);
  62. imagearc($im, 180, 7,50, 30, 75, 175, $white);
  63. // 線分を描画します画像上で、下の座標点を指定します
  64. imageline($im,20,20,180,30,$white);
  65. imageline($im,20,18,170,50,$white);
  66. imageline($im,25,50 ,80,50, $white);
  67. //ランダムなドットの数
  68. $noise_num=3000;
  69. $line_num=50;
  70. //さまざまなカオスなキャラクターの色
  71. $rectangle_color=imagecolorallocate($im,0xAA,0xAA ,0xAA);
  72. $noise_color=imagecolorallocate($im,0x00,0x00,0x00);
  73. $font_color=imagecolorallocate($im,0x00,0x00,0x00);
  74. for($i=0;$i<$noise_num; $i++)
  75. {
  76. //座標点上に単一のピクセルを描画します。この点は上で定義されており、黒です。
  77. //imagesetpixel($im,mt_rand(0,$image_x),mt_rand(0,$image_y),$noise_color);
  78. }
  79. for($i=0;$i<$line_num;$i++)
  80. {
  81. $line_color=imagecolorallocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));
  82. //2 つの座標点の間に線を描きます。色は上で定義されています
  83. imageline($im,mt_rand( 0 ,$image_x),mt_rand(0,$image_y),mt_rand(0,$image_x),mt_rand(0,$image_y),$line_color);
  84. }
  85. for ($i=0;$i<4; $ i++)
  86. {
  87. ImageTTFText($im, rand(18,20), rand(0,20), rand(($image_x/4)*$i+$image_x/100,($image_x/4)*$i+ $ image_x/8)、rand($image_y/2+$image_y/10,$image_y/2+$image_y/5)、$font_color、$fnt、$str[$i]);
  88. }
  89. ImagePNG( $ im);
  90. ImageDestroy($im);
  91. ?>
  92. 添付フォント ファイル: simhei.rar http://www.phpskill.com/uploadfile/file/20141229/simhei2.rar
  93. 注:
  94. 中国人文字認証コードを別途実行し、セッションを取得した際に認証コードとセッション内容が不一致であることが判明します。ただし、imgタグのsrc属性で漢字検証コードファイルを参照してセッションを取得すると、両者の内容は一致します。
コードをコピー

検証コード、PHP


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート