2016-09-15 48 views
0

我創建簡單表單,然後出現錯誤。
routes.php文件VerifyCsrfToken.php中的ERROR TokenMismatchException

Route::resource('/posts','PostsController'); 

PostsController

public function create() 
{ 
    return view('posts.create'); 
} 
public function store(Request $request) 
{ 
    return $request->all(); 
} 

create.blade.php

@extends('layouts/aap') 

@section('content') 
    <form method="post" action="/posts"> 
     <input type="text" name="title" placeholder="Enter Title"> 

     <input type="submit" name="submit"> 
    </form> 


@yield('footer') 

**我想拿到冠軍的文件數據時**我按提交按鈕,我得到了這個錯誤 enter image description here

iam初學者誰能幫助我!

回答

0

如果您不需要CSRF verifcation您可以刪除:從/app/Http/Resquests/Kernel.php

Illuminate\Foundation\Http\Middleware\VerifyCsrfToken 

如果您需要CSRF verifcation你可以隱藏字段添加到您的形式:

<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>" /> 

或者您可以爲所有項目的主佈局添加元標記:

<meta name="csrf-token" content="<?php echo csrf_token(); ?>" /> 
+0

你可以解釋一下關於csrf驗證,因爲iam遵循一個教程,它不會輸入任何隱藏字段,但他的代碼正在工作**,爲什麼?** –

+0

如果我輸入隱藏字段,它會顯示其值代碼,然後是任何安全問題? –

+0

我認爲他的代碼有效,因爲他禁用了csrf驗證。你可以在這裏閱讀更多https://laravel.com/docs/5.3/csrf。如果您添加隱藏字段,則不會有安全問題,因爲laravel會爲每個活動用戶會話生成一個csrf標記。 –

相關問題