1

私はこの男からreCaptchaプラグインを取得しました (プラグインのgithubリンク

ビューに次のコードフォームを入力しました。

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

[/form] 

提案された手順に従い、reCaptchaウィンドウが正しく表示されますが、captchaに何を入力しても、検証されることはなく、beforeValidateの「message」フィールドを常に受け​​取ります(「You」に設定しました)間違ったメッセージを入力しました」など)。

どの時点で失敗するかを確認するためにデバッグする方法すらわかりません。checkRecaptcha関数のすべてのコードを「returntrue」に置き換えて、キーによる検証をスキップし、ルール自体が正しいかどうかを確認したとしても、ルール自体は同じままであり、通常、私が読んだ特定のincorrect-captcha-solメッセージ。

コントローラー関数内に必要なコードは(コントローラーにコンポーネントとヘルパーが既に含まれていると仮定して)唯一のコードであり、 Configure::load('Recaptcha.key');それ以上の手動検証チェックはないと仮定するのは正しいですか?

(残念ながら、権利のためにプロジェクト全体をリンクすることはできません)

4

1 に答える 1

2

同様の問題がありました。コンポーネント内の 2 つの response および challenge フィールド行を削除して、これらを上書きしてみてください。

$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 に答える