laravel 笔记

CSRF 保护

laravel 会自动为每个活跃用户的会话生成一个CSRF【令牌】,再html表单中,都应该在表单中包含一个隐藏的CSRF标记字段,以便CSRF保护中间件可以验证该请求,你可以使用@csrf   Blade指令来生成令牌字段

<form method='POST' action='/profile'>

          @csrf

</form>

包含再Web中间件组里的  VerifyCsrfToken  [中间件] 会自动验证请求里的令牌是否与存储在会话中令牌匹配。

CSRF令牌 & JavaScript 

当构建由javascript驱动的应用时,可以方便的让JavaScript HTTP 函数发起每一个请求时自动附上CSRF令牌。默认情况下,resources/js/bootstap.js 文件会用Axios HTTP 函数库注册的 crsf-token   meta标签中的值。如果你不使用这个函数库,你需要手动为你的应用配置此行为。

CSRF白名单

典型做法,你可以把这类路由放到routes/web.php 外,因为 RouteServiceProvider 的 web 中间件使用该文件中的所有路由。不过,你也可以通过将这类URL添加到 VerifyCsrfToken 中间件的$except 属性来排除对这类路由的CSRF保护,如图所示:

 X-CSRF-TOKEN

除了检查POST参数中的CSRF令牌外,VerifyCsrfToken 中间件还会检查 X-CSRF-TOKEN 请求头。你应该将令牌保存在HTML  meta标签中,如下:

<meta name='csrf-token' content='{{ csrf-token() }}'>

 

转载于:https://www.cnblogs.com/shangfz/p/11418805.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值