iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 18
0
Modern Web

如何用Laravel寫一個簡單的部落格網站系列 第 18

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

  • 分享至 

  • twitterImage
  •  

為了接收註冊頁面的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


上一篇
[Day 17] 建立註冊的畫面及功能(一)
下一篇
[Day 19] 建立註冊的畫面及功能(三) - 資料驗證與錯誤訊息
系列文
如何用Laravel寫一個簡單的部落格網站25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言