> 백엔드 개발 > PHP 튜토리얼 > 웹페이지/사이트/보안 문자 오류가 발생하면서 yii20 인증 코드를 새로 고칠 수 없습니다.

웹페이지/사이트/보안 문자 오류가 발생하면서 yii20 인증 코드를 새로 고칠 수 없습니다.

WBOY
풀어 주다: 2016-07-28 08:25:51
원래의
1278명이 탐색했습니다.

1. 웹페이지 새로고침 시 새로고침이 안되는 오류에 대해
소스코드 수정 Vendor/yiisoft/yii2/captcha/CaptchaValidator.php

<code><span>/**
     *<span> @inheritdoc</span>
     */</span><span>public</span><span><span>function</span><span>clientValidateAttribute</span><span>(<span>$object</span>, <span>$attribute</span>, <span>$view</span>)</span>
    {</span><span>$captcha</span> = <span>$this</span>->createCaptchaAction();
        <span>$code</span> = <span>$captcha</span>->getVerifyCode(<span>true</span>);
        <span>$hash</span> = <span>$captcha</span>->generateValidationHash(<span>$this</span>->caseSensitive ? <span>$code</span> : strtolower(<span>$code</span>));
        <span>$options</span> = [
            <span>'hash'</span> => <span>$hash</span>,
            <span>'hashKey'</span> => <span>'yiiCaptcha/'</span> . <span>$captcha</span>->getUniqueId(),
            <span>'caseSensitive'</span> => <span>$this</span>->caseSensitive,
            <span>'message'</span> => Yii::<span>$app</span>->getI18n()->format(<span>$this</span>->message, [
                <span>'attribute'</span> => <span>$object</span>->getAttributeLabel(<span>$attribute</span>),
            ], Yii::<span>$app</span>->language),
        ];
        <span>if</span> (<span>$this</span>->skipOnEmpty) {
            <span>$options</span>[<span>'skipOnEmpty'</span>] = <span>1</span>;
        }

        ValidationAsset::register(<span>$view</span>);

        <span>return</span><span>'yii.validation.captcha(value, messages, '</span> . json_encode(<span>$options</span>, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . <span>');'</span>;
    }
}</code>
로그인 후 복사
<code><span>$code</span><span>=</span><span>$captcha</span><span>-></span>getVerifyCode(<span>false</span>); <span>false</span>改成<span>true</span></code>
로그인 후 복사

추가로
 yii20验证码不能随网页一起刷新/出现site/captcha的错误
이 나타납니다. 해결책:
보기에서

<code>    [<span>'verifyCode'</span>, <span>'captcha'</span>,<span>'message'</span> =><span>'验证码错误'</span>,<span>'captchaAction'</span>=><span>'login/captcha'</span>],</code>
로그인 후 복사

모델의 captchaAction 값을 수정합니다.

<code><span><span><?</span>= <span>$form</span>->field(<span>$loginForm</span>, <span>'verifyCode'</span>,[<span>'options'</span>=>[<span>'class'</span> => <span>'form-group'</span>]])->widget(Captcha::className(),[
                <span>'captchaAction'</span> => <span>'/login/captcha'</span>,
                <span>'imageOptions'</span> => [<span>'alt'</span>=><span>'点击换图'</span>,<span>'title'</span>=><span>'点击换图'</span>,<span>'style'</span>=><span>'cursor:pointer'</span>],
                <span>'options'</span> => [
                    <span>'placeholder'</span> => <span>'验证码'</span>,
                    <span>'class'</span> => <span>'form-control'</span>,
                    <span>'style'</span> => <span>'margin-top:10px;'</span>
                ]
            ])->label(<span>false</span>); <span>?></span></span></span></code>
로그인 후 복사
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

위 내용을 포함하여 웹페이지/사이트/보안 문자 오류가 발생하여 새로고침할 수 없는 yii20 인증코드를 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되길 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿