1

从这个人那里拿了一个 reCaptcha 插件 (插件的github 链接

我在视图中输入了以下代码表单:

[form creation]
[table]
[inputs]
[/table]
echo $this->Recaptcha->show(array('theme' => 'white'));
echo $this->Recaptcha->error();  

[/form] 

我已按照建议的步骤操作,reCaptcha 窗口正确显示,但无论我在验证码中输入什么内容,它都不会得到验证,并且我总是收到 beforeValidate 的“消息”字段(我已将其设置为“你”输入了错误的信息”等)。

我什至不确定如何调试它以查看它在哪一点失败。即使我只是将 checkRecaptcha 函数中的所有代码替换为“return true”以尝试跳过使用密钥的验证并查看规则本身是否正确,它仍然保持不变,而且我通常不会得到任何incorrect-captcha-sol我读到的具体信息。

我是否正确地假设我在控制器函数中需要的唯一代码(假设我已经在控制器中包含了组件和助手) Configure::load('Recaptcha.key');并且没有进一步的手动验证检查?

(不幸的是,由于权利,我无法将我的整个项目链接到你)

4

1 回答 1

2

我有一个类似的问题。尝试删除组件中的 2 个响应和质询字段行,并用以下内容覆盖它们:

$controller->$modelClass->set('recaptcha_response_field',  
$controller->request->data['recaptcha_response_field']);  
$controller->$modelClass->set('recaptcha_challenge_field',  
$controller->request->data['recaptcha_challenge_field']);
于 2012-05-28T20:04:35.060 回答