YII 验证码

简介:

验证码类

Java代码   收藏代码
  1. <?php  
  2.   
  3. class Captcha extends CCaptchaAction  
  4. {  
  5.     public function run()  
  6.     {  
  7.         if (isset($_GET[self::REFRESH_GET_VAR])) // AJAX request for regenerating code  
  8.         {  
  9.             $code = $this->getVerifyCode(true);  
  10.             echo CJSON::encode(array(  
  11.                 'hash1' => $this->generateValidationHash($code),  
  12.                 'hash2' => $this->generateValidationHash(strtolower($code)),  
  13.                 // we add a random 'v' parameter so that FireFox can refresh the image  
  14.                 // when src attribute of image tag is changed  
  15.                 'url' => $this->getController()->createUrl($this->getId(), array('v' => uniqid())),  
  16.             ));  
  17.         } else{  
  18.             $this->renderImage($this->getVerifyCode(true)); //刷新页面时会调用这个,问题就出现在这,他调用  
  19.         }  
  20.         Yii::app()->end();  
  21.     }  
  22. }  

 controller

Java代码   收藏代码
  1. public function actions()  
  2. {  
  3.     return array(  
  4.         // captcha action renders the CAPTCHA image displayed on the contact page  
  5.         'captcha'=>array(  
  6.             'class'=>'Captcha',  
  7.             'maxLength'=>4,  
  8.             'minLength'=>4,  
  9.             'width' => 100  
  10.         ),  
  11.     );  
  12. }  

 html

Java代码   收藏代码
  1. <?php $this->widget('CCaptcha', array('showRefreshButton' => false'clickableImage' => true'imageOptions' => array('title' => '点击换图''style' => 'cursor:pointer;width: 110px; height: 35px;'))); ?>                         
相关文章
|
存储 程序员 开发工具
译 仍然让我喜欢编程的十件事
译 仍然让我喜欢编程的十件事
|
运维 Devops 持续交付
自动化运维的魔法:打造高效DevOps流水线
【10月更文挑战第34天】在数字化时代的浪潮中,DevOps成为企业追求敏捷、高效和稳定的关键。本文将通过一个真实案例,展示如何构建一个高效的DevOps流水线,实现从代码提交到部署的全自动化流程。我们将探讨流水线设计的哲学、工具选择以及面临的挑战,并分享实际的代码示例和操作步骤,帮助读者理解自动化运维的精髓。
331 2
|
运维 测试技术 持续交付
代码管理的艺术:你的团队是否还在为 Git 分支管理头疼?
本文回顾了作者从2~3人初创团队到百人技术团队的经历,分享了代码管理工具从无到SVN再到Git的演变。重点介绍了Git Flow和GitHub Flow两种常用的Git分支管理模型,分析了它们的适用场景和优缺点。Git Flow适合中大型项目,而GitHub Flow则更适合小型团队和Web应用开发。
390 0
|
人工智能 搜索推荐
有道云笔记ai工具使用
尝试体验AI助手的多个功能,包括头脑风暴、撰写文章、构建大纲、列举优缺点、解释说明和创建待办事项。在头脑风暴中输入关键词如“AI写作”,AI会生成相关内容,并提供继续写作、内容润色等选项。在中断后,AI能接续写作,展现了一定的连续性和实用性。此外,还展示了创建待办事项列表的功能。
516 0
|
Linux C语言
Linux中gcc4.8.5升级到gcc5.4.0用已经编译好的安装包升级(重点是不用编译安装,可以更省时)
如有遇到<font color=red size=4>没有网络的情况下</font>可以选择用这种方法来做,前提是要先下载好这个包。
586 0
Linux中gcc4.8.5升级到gcc5.4.0用已经编译好的安装包升级(重点是不用编译安装,可以更省时)
|
Android开发
Android 中PopupWindow弹出式窗口的使用
Android 中PopupWindow弹出式窗口的使用
220 0
|
算法 调度
【需求响应】基于进化算法的住宅光伏电池系统需求响应研究(Matlab代码实现)
【需求响应】基于进化算法的住宅光伏电池系统需求响应研究(Matlab代码实现)
142 0
|
缓存 网络协议 Java
TCP的Window Size和Scale参数对传输效率的影响
目前大多数互联网数据通信都是通过TCP协议进行的,了解其通信方式对提高通信效率,排查通信效率问题有很重要的意义。一. TCP的滑动窗口机制1. 概述TCP协议是可靠的通信协议,数据发送方发送给数据接收方的每一个包必须需要数据接收方返回对应的ACK,否则数据发送方就需要重传这个包。这个模式就有点像我和你面对面聊天,你一句我一句。但这种方式的缺点是效率比较低的。如果你说完一句话,我在处理其他事情,没有
8494 0
|
存储 关系型数据库 MySQL
linux 安装mysql
linux 安装mysql
|
JavaScript 前端开发 物联网
HaaS轻应用(JavaScript)快速开始 @ N58
N58开发板是一款搭载HaaS轻应用(JavaScript)的物联网开发板,可以非常方便的使用JS来开发应用。
HaaS轻应用(JavaScript)快速开始 @ N58