手动输入地址时保护laravel中的路由

时间:2019-03-24 18:28:40

标签: php laravel

我正在研究和在数据库中注册信息,出于好奇,我进行了测试以直接通过URL访问注册路由,并且遇到以下错误“此路由不支持GET方法。受支持的方法:POST。”。您如何保护我免受这个错误的侵害?

观看路线:

Route::get('/cadastro', 'UserController@index');

行动路线表:

Route::post('/cadastrar', 'UserController@cadastrar');

表格:

<form method="post" action="{{url('cadastrar')}}">
        @csrf
        <input type="text" id="name" name="name" placeholder="Usuário">
        <input type="email" id="email" name="email" placeholder="email">
        <input type="password" id="password" name="password" placeholder="senha">
        <input type="submit" value="Cadastrar">
    </form>

控制器的方法寄存器:

public function cadastrar(Request $request){

        $validatedData = $request->validate([
            'name'=>'required',
            'password' =>'required'
        ]);
            $user = new User();
            $user->name = $request->input('name');
            $user->email = $request->input('email');
            $user->password = bcrypt($request->input('password'));
            $user->save();  

    }

1 个答案:

答案 0 :(得分:0)

在您的表单中,将action更改为action="{{route('nameOfRoute')}}"

只需像往常一样命名您的路线。  您也可以制作一个Route::resource(),以使事情更加干净和标准。