拉拉维尔 | CSRF 保护
跨站点请求伪造 (CSRF)是一种攻击类型,攻击者在系统信任的授权用户的帮助下向系统发送请求。
Laravel 通过生成CSRF 令牌来保护CSRF攻击。这个CSRF 令牌是为每个用户自动生成的。这个令牌只不过是一个随机字符串,由 Laravel 应用程序管理以验证用户请求。
如何使用:通过指定 CSRF 令牌的隐藏表单字段,此 CSRF 令牌保护可以应用于 Laravel 应用程序中的任何 HTML 表单。请求由 CSRF VerifyCsrfToken中间件自动验证。
您可以通过三种不同的方式执行此操作。
- @csrf
- csrf_field()
- csrf_token()
@csrf:这是一个刀片模板指令,用于在 HTML 表单中生成隐藏的输入字段。
- 句法:
- 例子:
Laravel | CSRF Protection CSRF Protected HTML Form
csrf_field():该函数可用于生成 HTML 表单中的隐藏输入字段。
注意:这个函数应该写在双花括号内。
- 句法:
- 例子:
Laravel | CSRF Protection CSRF Protected HTML Form
csrf_token():这个函数只是给出一个随机字符串。此函数不会生成隐藏的输入字段。
注意: HTML 输入字段应显式编写。这个函数应该写在双花括号内。
- 句法:
- 例子:
Laravel | CSRF Protection CSRF Protected HTML Form
输出:对于上述三种生成 CSRF 令牌的方法中的任何一种,输出都是相同的。 CSRF 令牌字段应该在 Laravel 应用程序中使用三种方式中的任何一种在每个 HTML 表单的开头编写/生成。
检查元素输出:
参考: https://laravel.com/docs/6.x/csrf