Yii 验证码异步验证 [ 2.0 版本 ]
想加载网页的时候加载yii生成的验证码到cookie,
或者点击刷新的时候验证码写到cookie里面
然后用js 判断,如果提交的验证码。和cookie不匹配,就阻止提交表单
好像之前看过一个教程,里面说yii的验证码是加密的,写到cookie也没用,没法解出来,
除了废除不用yii的验证码。还有啥办法吗,
最佳答案
-
昨天回答过一次,但是账号没了,就重新回一次。
Yii把验证码存到session里的,如果需要异步验证可以把session里的验证码拿到和异步提交的表单验证码做比较,就行了。这是我写的应该关于yii验证码的一个博客,你可以参考下解决Yii框架验证码生成后的不刷新问题共 1 条回复我看了,谢谢大佬,我直接打印session 验证码居然是明文的,直接就能取。可能是我改了这个
['code', 'codeVerify', 'on' => ['reg']],
public function codeVerify($attribute) { //参数:'captcha',即控制器中actions()内的名称'captcha';Yii::$app->controller,调用验证的当前控制器(必须设置) $captcha_validate = new \yii\captcha\CaptchaAction('captcha',Yii::$app->controller); if($this->$attribute){ $code = $captcha_validate->getVerifyCode(); if($this->$attribute!=$code){ $this->addError($attribute, '验证码错误'); } } }
其他 2 个回答
蛋蛋的蛋
注册时间:2018-04-02
最后登录:2024-03-11
在线时长:34小时29分
最后登录:2024-03-11
在线时长:34小时29分
- 粉丝4
- 金钱64
- 威望20
- 积分604