Jadual Kandungan
Yii使用Captcha验证码的方法,yiicaptcha验证码
您可能感兴趣的文章:
Rumah pembangunan bahagian belakang tutorial php Yii使用Captcha验证码的方法,yiicaptcha验证码_PHP教程

Yii使用Captcha验证码的方法,yiicaptcha验证码_PHP教程

Jul 12, 2016 am 09:02 AM
captcha yii Kod pengesahan

Yii使用Captcha验证码的方法,yiicaptcha验证码

本文实例讲述了Yii使用Captcha验证码的方法。分享给大家供大家参考,具体如下:

详细代码可参考:yii自带的示例代码post项目,里面有一个contact表单用到了验证码.

1. Model:

将验证码加入UserLogin的一个属性:

class UserLogin extends CFormModel
{
 public $username;
 public $password;
 public $rememberMe;
 public $verifyCode;
 public function rules()
 {
  return array(
   // username and password are required
   array('username, password,verifyCode', 'required'),
   // rememberMe needs to be a boolean
   array('rememberMe', 'boolean'),
   // password needs to be authenticated
   array('password', 'authenticate'),
   // verifyCode needs to be entered correctly
   array('verifyCode', 'captcha', 'allowEmpty'=>!CCaptcha::checkRequirements()),
  );
 }
 /**
  * Declares attribute labels.
  */
 public function attributeLabels()
 {
  return array(
   'rememberMe'=>Yii::t('user',"Remember me next time"),
   'username'=>Yii::t('user',"username or email"),
   'password'=>Yii::t('user',"password"),
   'verifyCode'=>Yii::t('user','Verification Code'),
  );
 }
}

Salin selepas log masuk

2. Controller

在LoginController控制器加入映射动作CCaptchaAction

public function actions()
{
 return array(
  // captcha action renders the CAPTCHA image displayed on the contact page
  'captcha'=>array(
   'class'=>'CCaptchaAction',
   'backColor'=>0xf4f4f4,
   'padding'=>0,
   'height'=>30,
   'maxLength'=>4,
  ),
  );
}
ublic function actionLogin()
{
 if (Yii::app()->user->isGuest) {
  $model=new UserLogin;
  // collect user input data
  if(isset($_POST['UserLogin']))
  {
   $model->attributes=$_POST['UserLogin'];
//在此核对验证码
   if($this->createAction('captcha')->validate($model->verifyCode, false))
   {
    // validate user input and redirect to previous page if valid
    if($model->validate()) {
    //admin login only
    if( Yii::app()->getModule('user')->isAdmin()==1 )
    {
    $this->lastViset();
    if (strpos(Yii::app()->user->returnUrl,'/index.php')!==false)
     $this->redirect(Yii::app()->controller->module->returnUrl);
    else
     $this->redirect(Yii::app()->user->returnUrl);
    }else
    {//if no admin when login out
     $this->redirect(Yii::app()->controller->module->logoutUrl);
    }
   }
   }else
   {//提示错误
    $model->addError('verifyCode','验证码不对');
   }
  }
  // display the login form
  $this->render('/user/login',array('model'=>$model));
 } else
  $this->redirect(Yii::app()->controller->module->returnUrl);
}

Salin selepas log masuk

在验证用户名密码前,检查验证码:

if($this->createAction('captcha')->validate($model->verifyCode, false))
{

Salin selepas log masuk

3. view

在视图中显示验证码图片,输入框

<&#63;php $this->widget('CCaptcha'); &#63;>
  <&#63;php echo CHtml::activeTextField($model,'verifyCode',array('tabindex'=>1)); &#63;>
<img src="/static/imghw/default1.png"  data-src="http://www.XXXX.net/uploads/123456.jpg"  class="lazy" alt="">

Salin selepas log masuk

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

您可能感兴趣的文章:

  • yii用户注册表单验证实例
  • PHP Yii框架之表单验证规则大全
  • Yii框架form表单用法实例
  • Yii不依赖Model的表单生成器用法实例
  • yii框架表单模型使用及以数组形式提交表单数据示例
  • Yii中实现处理前后台登录的新方法
  • yii去掉必填项中星号的方法

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1085886.htmlTechArticleYii使用Captcha验证码的方法,yiicaptcha验证码 本文实例讲述了Yii使用Captcha验证码的方法。分享给大家供大家参考,具体如下: 详细代码可参...
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan Chrome tidak memaparkan kod pengesahan? Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan Chrome tidak memaparkan kod pengesahan? Mar 13, 2024 pm 08:55 PM

Apakah yang perlu saya lakukan jika Google Chrome tidak memaparkan imej kod pengesahan? Kadangkala anda memerlukan kod pengesahan untuk log masuk ke halaman web menggunakan Google Chrome. Sesetengah pengguna mendapati bahawa Google Chrome tidak dapat memaparkan kandungan imej dengan betul apabila menggunakan kod pengesahan imej. Apa yang patut dibuat? Editor di bawah akan memperkenalkan cara menangani kod pengesahan Google Chrome yang tidak dipaparkan. Saya harap ia akan membantu semua orang! Pengenalan kaedah: 1. Masukkan perisian, klik butang "Lagi" di penjuru kanan sebelah atas, dan pilih "Tetapan" dalam senarai pilihan di bawah untuk masuk. 2. Selepas memasuki antara muka baharu, klik pilihan "Tetapan Privasi dan Keselamatan" di sebelah kiri. 3. Kemudian klik "Tetapan Laman Web" di sebelah kanan

Mengapa saya tidak boleh menerima kod pengesahan pada telefon saya? Mengapa saya tidak boleh menerima kod pengesahan pada telefon saya? Aug 17, 2023 pm 02:49 PM

Kegagalan menerima kod pengesahan pada telefon mudah alih anda disebabkan oleh masalah rangkaian, masalah tetapan telefon mudah alih, masalah operator telefon mudah alih dan masalah tetapan peribadi. Pengenalan terperinci: 1. Masalah rangkaian Persekitaran rangkaian di mana telefon bimbit berada tidak stabil atau isyarat lemah, yang mungkin menyebabkan kod pengesahan tidak dapat dihantar tepat pada masanya atau fungsi suara telefon mudah alih dimatikan secara tidak sengaja, atau Nombor penghantaran kod pengesahan ditambah ke senarai hitam, menyebabkan kod pengesahan tidak diterima seperti biasa 3. Isu operator telefon mudah alih, operator telefon mudah alih mungkin mengalami kerosakan atau penyelenggaraan, mengakibatkan kod pengesahan tidak dihantar tepat pada masanya, dsb.

Bolehkah nombor maya menerima kod pengesahan? Bolehkah nombor maya menerima kod pengesahan? Jan 02, 2024 am 10:22 AM

Nombor maya boleh menerima kod pengesahan Selagi nombor telefon bimbit yang diisi semasa pendaftaran mematuhi peraturan dan nombor telefon bimbit boleh disambungkan seperti biasa, anda boleh menerima kod pengesahan SMS. Walau bagaimanapun, anda perlu berhati-hati apabila menggunakan nombor telefon mudah alih maya Sesetengah tapak web tidak menyokong pendaftaran nombor telefon mudah alih maya, jadi anda perlu memilih pembekal perkhidmatan nombor telefon mudah alih maya biasa.

Kes pemprosesan imej PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan imej Kes pemprosesan imej PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan imej Aug 17, 2023 pm 12:09 PM

Kes pemprosesan imej PHP: Bagaimana untuk melaksanakan fungsi kod pengesahan imej Dengan perkembangan pesat Internet, kod pengesahan telah menjadi salah satu cara penting untuk melindungi keselamatan laman web. Kod pengesahan ialah kaedah pengesahan yang menggunakan teknologi pengecaman imej untuk menentukan sama ada pengguna adalah pengguna sebenar. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi kod pengesahan imej, dan disertakan dengan contoh kod. Pengenalan Kod pengesahan ialah gambar yang mengandungi aksara rawak Pengguna perlu memasukkan aksara dalam gambar untuk lulus pengesahan. Proses utama melaksanakan kod pengesahan termasuk menjana aksara rawak dan melukis aksara ke dalam gambar.

Panduan Pembangunan PHP: Melaksanakan Log Masuk Kod Pengesahan Panduan Pembangunan PHP: Melaksanakan Log Masuk Kod Pengesahan Jul 01, 2023 am 09:27 AM

Dengan perkembangan Internet dan populariti telefon pintar, fungsi log masuk kod pengesahan diterima pakai oleh semakin banyak laman web dan aplikasi. Log masuk kod pengesahan ialah kaedah log masuk yang mengesahkan identiti pengguna dengan memasukkan kod pengesahan yang betul untuk meningkatkan keselamatan dan mencegah serangan berniat jahat. Dalam pembangunan PHP, melaksanakan fungsi log masuk kod pengesahan mudah tidak rumit dan boleh diselesaikan melalui langkah-langkah berikut. Buat jadual pangkalan data Pertama, kita perlu mencipta jadual dalam pangkalan data untuk menyimpan maklumat kod pengesahan. Struktur jadual boleh mengandungi medan berikut: id: auto-incrementing primary key phone

Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? Sep 13, 2023 am 11:40 AM

Bagaimana untuk membuat imej kod pengesahan menggunakan PHP? CAPTCHA ialah kaedah yang biasa digunakan untuk mengesahkan sama ada pengguna adalah manusia dan bukan mesin. Di tapak web, kami sering melihat imej kod pengesahan, yang memerlukan pengguna memasukkan aksara atau nombor rawak yang dipaparkan pada imej untuk menyelesaikan operasi seperti log masuk, pendaftaran dan mengulas. Artikel ini akan memperkenalkan cara menggunakan PHP untuk mencipta imej kod pengesahan dan memberikan contoh kod tertentu. 1. Pustaka PHPGD Untuk mencipta imej kod pengesahan, kita perlu menggunakan perpustakaan GD PHP. Pustaka GD ialah sambungan untuk memproses imej.

Apakah yang berlaku apabila saya menerima kod pengesahan daripada pelbagai platform pada telefon mudah alih saya? Apakah yang berlaku apabila saya menerima kod pengesahan daripada pelbagai platform pada telefon mudah alih saya? Sep 21, 2023 pm 03:31 PM

Menerima kod pengesahan daripada pelbagai platform pada telefon mudah alih anda mungkin disebabkan maklumat peribadi dicuri, nombor telefon mudah alih anda disalahgunakan, atau nombor telefon mudah alih anda diisi dengan tidak betul atau disalahgunakan. Pengenalan terperinci: 1. Maklumat peribadi telah dicuri nombor telefon bimbit yang banyak diperolehi melalui pelbagai cara, dan kemudian nombor telefon bimbit ini digunakan untuk menjalankan pelbagai aktiviti penipuan 3. Nombor telefon bimbit diisi dengan tidak betul atau disalahgunakan, dsb.

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan? Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan? Oct 19, 2023 am 10:46 AM

Bagaimana untuk menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan? Dengan perkembangan Internet, kod pengesahan telah menjadi salah satu mekanisme keselamatan yang sangat diperlukan dalam laman web dan aplikasi. Kod pengesahan (VerificationCode) ialah teknologi yang digunakan untuk menentukan sama ada pengguna adalah manusia dan bukannya mesin. Dengan CAPTCHA, tapak web dan aplikasi boleh menghalang penyerahan spam, serangan berniat jahat, perangkak bot dan banyak lagi. Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk melaksanakan fungsi kod pengesahan dan menyediakan kod tertentu

See all articles