Codeigniter Botdetect / Tank-Auth Captcha 404在Nginx上找不到

时间:2016-06-15 14:36:57

标签: php nginx codeigniter-3 tankauth

我想在我的CodeIgniter项目中使用Tank auth,但是需要从CodeIgniter中基本安装Botdetect验证码开始。

我已遵循此link上的快速入门安装指南。

我尝试运行此规定的视图保存在application / views / welcome_message.php下,如下所示:

<?php
    defined('BASEPATH') OR exit('No direct script access allowed');
?><!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <title>Welcome to CodeIgniter</title>
        <link type="text/css" rel="Stylesheet" href="<?php echo CaptchaUrls::LayoutStylesheetUrl() ?>" />
    </head>
    <body>

        <?php echo $captchaHtml; ?>
        <input type="text" name="CaptchaCode" id="CaptchaCode" value="" />
    </body>
</html>

相应的Controller保存在application / controllers / Welcome.php下,也在下面:

<?php
    defined('BASEPATH') OR exit('No direct script access allowed');

    class Welcome extends CI_Controller {

    public function __construct(){
        parent::__construct();
    }
    public function index() // Your controller
    {
        // load the BotDetect Captcha library and set its parameter
        $this->load->library('botdetect/BotDetectCaptcha', array(
            'captchaConfig' => 'ExampleCaptcha'
        ));

        // make Captcha Html accessible to View code
        $data['captchaHtml'] = $this->botdetectcaptcha->Html();
        $this->load->view('welcome_message',$data);
    }
}

在我的浏览器上运行时,这就是我收到的内容:

Captcha Page

我理解BotDetect正在使用会话,我已设法修复所需的配置,并且正在&#34; ci_sessions&#34;中创建会话。每次运行。

如何解决此问题以加载BotDetect Captcha。

1 个答案:

答案 0 :(得分:1)

看起来您忘记在&#34; application / config / routes.php&#34;中注册用于BotDetect Captcha请求的BotDetect Captcha路由(Captcha图像,声音,资源等)。文件。

请检查以下2点:

1 - 确保您已经在&#34; routes.php&#34;中注册了BotDetect Captcha路线。文件

$route['botdetect/captcha-handler'] = 'botdetect/captcha_handler/index';

2 - 在你的&#34;控制器&#34;文件夹需要有&#34; /controllers/botdetect/Captcha_handler.php"文件

我希望这会有所帮助。