[Day 18] 建立註冊的畫面及功能(二) - CSRF保護

建立註冊的畫面及功能(二) - CSRF保護

為了接收註冊頁面的Post資料,
我們在UserAuthController再加上一個方法,

<?PHP
namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use App\Module\ShareData;

class UserAuthController extends Controller
{
    //處理註冊資料
    public function signUpProcess()
    {
        //接收輸入資料
        $input = request()->all();
        var_dump($input);
        exit;
    }
}
?>

然後當我們按下按鈕的時候,
卻看到了以下的畫面
https://ithelp.ithome.com.tw/upload/images/20200928/20105694bScSQAOUd9.png

這是因為Laravel為了防止CSRF(跨網站請求偽造,Cross-site request forgery)的攻擊,
而做的一種保護措施,
我們在前端必須加上CSRF的token,
才能讓網站正常執行,
加上token有以下兩種方法,
選擇其中一種方法即可.

<form id="form1" method="post" action="">

<!-- 手動加入 csrf_token 隱藏欄位,欄位變數名稱為 _token -->
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>

<!-- 自動產生 csrf_token 隱藏欄位-->
{!! csrf_field() !!}

<div class="login_form">
    <div class="btn_group">
        <button type="submit" class="btn btn-primary btn_login">註冊</button>
    </div>
</div>
</form>

如此當我們輸入完帳號密碼,
按下註冊按鈕時會出現以下文字,
表示網頁可以正常執行了.
https://ithelp.ithome.com.tw/upload/images/20200928/2010569444C7pDFB3l.png