1

在表单上使用来自 CakeDC 的 Cakephp 2.2.4 和 Recaptcha 插件 1.1。该页面是 SSL/HTTPS。当我提交带有正确recaptcha 文本的表单时,表单会重置并且没有消息。

已经在控制器的适当方法中检查了 $this->request->data 并且它没有收到任何帖子。

有人遇到这个问题或有解决方案吗?

谢谢。

从控制器代码中提取:

if ($this->request->is('post')) {   
                if ($this->Recaptcha->verify()) {

从视图中提取:

echo $this->BootstrapForm->input('message', array(
                                    'type' => 'textarea', 
                'required' => 'required',
                'helpInline' => '<span class="label label-important">' . __('Required') . '</span>&nbsp;')
            );

            ?>
                            <?php echo $this->Recaptcha->display(array('recaptchaOptions'=>array('theme' => 'clean'))); ?>    
            <?php echo $this->BootstrapForm->submit(__('Submit'),array('class' => 'btn btn-primary'));?>
        </fieldset>
    <?php echo $this->BootstrapForm->end();?>

没有对 recaptcha 的模型进行任何更改。

我正在使用的 CakeDC 插件是这个:

https://github.com/CakeDC/recaptcha

4

1 回答 1

0

请参阅此处的 SSL 部分

https 网站上的 reCAPTCHA

为了避免在 SSL 站点上使用 reCAPTCHA 时收到浏览器警告 ,请求挑战。您对 reCAPTCHA 的请求如下所示:

<script type="text/javascript"
   src="https://www.google.com/recaptcha/api/challenge?k=your_public_key">
</script>

<noscript>
   <iframe src="https://www.google.com/recaptcha/api/noscript?k=your_public_key"
       height="300" width="500" frameborder="0"></iframe><br>
   <textarea name="recaptcha_challenge_field" rows="3" cols="40">
   </textarea>
   <input type="hidden" name="recaptcha_response_field"
       value="manual_challenge">
</noscript>
于 2013-09-08T23:11:47.110 回答