ホームページ >PHPフレームワーク >YII >yii 独自の認証コードの使用方法

yii 独自の認証コードの使用方法

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-11-09 10:39:152086ブラウズ

yii 独自の認証コードの使用方法

#これは、コントローラー構成、モデル ルール構成、ビュー構成の 3 つの側面に分かれています。

ステップ 1: コントローラーの構成

アクションで次のコードを構成します。リクエスト検証コードのリンクは「コントローラー/キャプチャ」に対応します。


'captcha' => [
         'class' => 'yii\captcha\CaptchaAction',
    //     'backColor'=>0x000000,//背景颜色
         'maxLength' => 4, //最大显示个数
         'minLength' => 4,//最少显示个数
         'padding' => 5,//间距
         'height'=>45,//高度
         'width' => 75,  //宽度
      //   'foreColor'=>0xffffff,     //字体颜色
         'offset'=>4,
 ],

2 番目のステップ: ルール設定をモデル化します。つまり、設定を確認します。

最初にパブリック変数を宣言します


public $verifyCode

次に、ルール メソッドで検証を構成します


['verifyCode', 'captcha','captchaAction'=>'user/captcha','on' => ['login']]

この構成に「captchaAction」を追加します、つまり、コントローラーのルーティングです。設定されていない場合は、サイト/キャプチャ ルーティングが使用されます。これは、フレームワークの例のルーティングです。

ステップ 3: ビューでの構成

次のコードを ActiveForm に追加します:


<?= $form->field($model,&#39;verifyCode&#39;)->widget(
    Captcha::className(),
    [
    &#39;template&#39; => &#39;{image}{input}&#39;,
    &#39;captchaAction&#39;=>&#39;user/captcha&#39;, // 此注意要使用自己配置的那个控制器验证码路由
    &#39;imageOptions&#39;=>[ &#39;style&#39;=>&#39;cursor:pointer;width:77px&#39;]
    ]
    )

最後に、大きな落とし穴の問題が発生します。 Windows環境ではエンコード処理時に一部の改行文字やスペースが使用されるため、不明な出力が発生し、検証コードイメージが正常に生成できません。

これは、CaptchaAction クラスの renderImageByGD メソッドに次のコードを追加する必要があるためです。

imagecolordeallocate($image, $foreColor);
 
ob_clean(); // 此行为插入代码,目的是清空缓存区为输出图片提供干净空间。
ob_start();
imagepng($image);
imagedestroy($image);

php 中国の Web サイト、多数の無料の

yii 入門チュートリアル 、オンライン学習へようこそ!

以上がyii 独自の認証コードの使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

関連記事

続きを見る