我在CakePHP 2.4应用程序中使用Jahdrien's ReCAPTCHA plugin,安装得很好。问题是我正在使用SecurityComponent来防止伪造的表单,这也保护我免受ReCAPTCHA插件的侵害。
我已经在我的用户控制器上设置了插件,并在我的register
操作中启用了该插件,但是当我尝试注册用户时出现错误:该请求已被黑洞控制。 Cake已经从CAPTCHA中检测到了额外的字段,并怀疑是犯规。
问题是:如何在不打开整个表单的情况下将CAPTCHA列入白名单?我检查了元素并看到输入的名称是recaptcha_response_field
,所以我尝试在CAPTCHA之前按名称解锁它,没有效果。
$this->Form->unlockField('recaptcha_response_field');
echo $this->Recaptcha->show(array(
'theme' => 'white',
'lang' => 'en',
));