保护模型绑定的Laravel表单

时间:2015-10-13 21:49:05

标签: php forms laravel laravel-5

我有一个使用模型绑定的表单将数据输入数据库。我试图通过https提供服务,但无法弄明白。

以下是观点:

    {!! Form::model(new App\MissingHours, ['route' => ['missinghours.store'], 'class' => 'form-horizontal']) !!}
        @include('missinghours/_form', ['submit_text' => 'Submit Hours'])
    {!! Form::close() !!}

我已经尝试将网址设置为https://appurl/missinghours/store,但这显然不起作用。我也尝试过在Form :: open_secure之后使用model_secure,但是没有用。当我通过https提供页面并尝试提交表单时,我收到一条警告,说明它不安全且数据未提交。

控制器:

 $input = Input::all();
 $save = MissingHours::create( $input );

1 个答案:

答案 0 :(得分:0)

如果您需要将整个网站设为https(包括表单),则可以在RewriteEngine On文件的public/.htaccess下面插入以下代码:

RewriteCond %{HTTPS} !=on
# This checks to make sure the connection is not already HTTPS

RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

修改

您可以像这样创建before中间件:

<?php

namespace App\Http\Middleware;

use Closure;

class BeforeMiddleware
{
    public function handle($request, Closure $next)
    {
        if (! $request->secure()) return redirect()->secure($request->getRequestUri());

        return $next($request);
    }
}

然后在表单中使用该中间件。

有关Laravel Middlewares here的更多信息。