gpt4 book ai didi

laravel-5.3 - 在 Laravel 5.3 中使用 Securimage 验证码

转载 作者:行者123 更新时间:2023-12-04 01:14:06 25 4
gpt4 key购买 nike

我为 securimage 验证码安装了一个 laravel 包,一切似乎都很好(因为它显示了随机验证码),但即使输入了正确的文本,它仍然说无效。
有人能帮助我吗。
这是我的代码

Route::any('/test-captcha', function (){
if (Request::getMethod() == 'POST')
{
$rules = ['captcha' => 'required|captcha'];

$validator = Validator::make(Input::all(), $rules);
if ($validator->fails())
{
echo '<p style="color: #ff0000;">Incorrect!</p>';
}
else
{
echo '<p style="color: #00ff30;">Matched :)</p>';
}
}

$form = '<form method="post" action="test-captcha">';
$form .= '<input type="hidden" name="_token" value="' . csrf_token() . '">';
$form .= '<p>' . captcha_img() . '</p>';
$form .= '<p><button type="submit" name="check">Check</button></p>';
$form .= '</form>';
return $form;
});

最佳答案

短分辨率:
将此行添加到您的 routes.php 文件中:

Route::get('securimage', ['as' => 'securimage', 'uses' => '\Yhbyun\Securimage\SecurimageController@getCaptcha']);

Route::get('securimage/audio', ['as' => 'securimage.audio', 'uses' => '\Yhbyun\Securimage\SecurimageController@getAudio']);

Route::get('securimage/check', ['as' => 'securimage.check', 'uses' => '\Yhbyun\Securimage\SecurimageController@check']);

在这里我会解释,为什么

在这种情况下的问题是,包在
/vendor/yhbyun/laravel-securimage/src/SecurimageServiceProvider.php 像这样:
        $app['router']->get('securimage', ['as' => 'securimage', 'uses' => 'Yhbyun\Securimage\SecurimageController@getCaptcha']);

$app['router']->get('securimage/audio', ['as' => 'securimage.audio', 'uses' => 'Yhbyun\Securimage\SecurimageController@getAudio']);

$app['router']->get('securimage/check', ['as' => 'securimage.check', 'uses' => 'Yhbyun\Securimage\SecurimageController@check']);

如果您运行 php artisan route:list您可以看到没有应用中间件,因为在 Laravel 的 Kernel.php 文件中,只有在 routes.php 中定义的路由与应用的“web”中间件分组:
    Route::group([
'middleware' => 'web',
'namespace' => $this->namespace,
], function ($router) {
require base_path('routes/web.php');
});

Web 中间件组包含用于启动 session 的中间件:
    'web' => [
// ....
\Illuminate\Session\Middleware\StartSession::class,
// .....
],

也许有人想为已经使用“网络”中间件的 Laravel 版本创建拉取请求。这可能类似于(在 SecurimageServiceProvider.php 中):
    $app['router']->group(['middleware' => 'web'], function() use ($app) {
$app['router']->get('securimage', ['as' => 'securimage', 'uses' => 'Yhbyun\Securimage\SecurimageController@getCaptcha']);

$app['router']->get('securimage/audio', ['as' => 'securimage.audio', 'uses' => 'Yhbyun\Securimage\SecurimageController@getAudio']);

$app['router']->get('securimage/check', ['as' => 'securimage.check', 'uses' => 'Yhbyun\Securimage\SecurimageController@check']);
});

关于laravel-5.3 - 在 Laravel 5.3 中使用 Securimage 验证码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42070285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com