Evitando Captchas Repetidos no Yii Framework 12/02/2011
Posted by pablodurans in Yii framework.add a comment
Quando estava testando um caso de uso implementado utilizando o Yii, percebi que os captcha’s se repetiam. Considerando que meu objetivo era evitar que o usuário usasse um bot que executasse várias vezes a mesma ação, o captcha, então, não estava servindo a minha necessidade.
Não encontrei nada na web e tive que vasculha o código do framework para resolver este problema.
Para isto, o código abaixo deve ser adicionado antes de chamar o render() da view onde se encontra o captcha.
...
$captchaAct = $this->createAction('captcha');
if($captchaAct != null) $captchaAct->getVerifyCode(true);
...
É importante frisar que ‘captcha’ é o nome da action que foi definido no metodo actions() do controller. No caso em que outro nome tenha sido usado, igual substituição deve ser feita nesse código.