日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

八、PHP框架Laravel学习笔记——表单伪造和 CSRF 保护

發布時間:2024/7/5 php 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 八、PHP框架Laravel学习笔记——表单伪造和 CSRF 保护 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一.表單偽造

  • 之前一直用的 GET 請求方式,而表單可以實現 POST 方式,我們來實驗下:

  • 先在 TaskController 創建兩個方法,一個表單頁,一個接受表單數據路由;

  • public function form() { return view('form'); }


    //表單頁

    Route::get('task/form', 'TaskController@form');

    //接受表單數據

    Route::any('task/getform', function () { return \Illuminate\Support\Facades\Request::method(); });

  • 表單頁以 post 發送,路由也使用 post 接受,以下表單提交會出現 419 錯誤;
  • <form action="/task/getform" method="post"> 用戶名:<input type="text" name="user"> <button type="submit">提交</button> </form>

  • 這是為了避免被跨站請求偽造攻擊,框架提供了 CSRF 令牌保護,請求時驗證;
  • <input type="hidden" name="_token" value="{{csrf_token()}}">

  • 表單可以實現 POST 提交方式,那其它提交方式該如何實現呢?可以采用偽造技術;
  • <input type="hidden" name="_method" value="PUT">
  • 對于 CSRF 令牌保護和表單偽造提交方式,也支持快捷方式的聲明,如下:
  • @csrf @method('PUT')
  • 如果我們想讓某些 URL 關閉 csrf 驗證,可以設置 csrf 白名單;

  • 白名單具體設置位置在:中間件目錄下的 VerifyCsrfToken.php 文件;

  • 當然,不建議直接注釋掉這個驗證 csrf 功能的中間件;

  • 總結

    以上是生活随笔為你收集整理的八、PHP框架Laravel学习笔记——表单伪造和 CSRF 保护的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。