php - Laravel 在 api 中间件上启用 csrf 保护

标签 php laravel csrf

我正在使用 Laravel 5.4,我的路由在 api 中间件中

我看到我需要将我的路由传输到网络中间件,但我需要它们在 api 中间件上,因为我正在创建一个 RESTful api,关于如何的任何建议 我可以将 csrf 与 api 中间件一起使用吗?

最佳答案

CSRF 保护可防止使用先前经过身份验证的用户进行攻击(通常使用 session 设置状态)https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF) .

restful API 没有状态 https://en.wikipedia.org/wiki/Representational_state_transfer ,因此没有要攻击的 session 。因此,在 restful API 中,CSRF 保护是在每个请求中验证用户身份,如果您仅在第一个请求中验证用户身份并为以下请求使用 session ,则您不是在创建 restfull API,应该使用 web 中间件。

编辑: 如果您没有任何状态,您将如何向客户端获取 CSRF token ?

关于php - Laravel 在 api 中间件上启用 csrf 保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44006417/

相关文章:

Windows 批处理脚本使控制台窗口保持打开状态

php - Laravel - 验证 |输入字段应该是两个值之一

laravel - 如何在 Laravel 中像 JSON 一样显示路由错误?

python - Django 管理表单可以使用跨站请求伪造 (CSRF) 进行操作

kohana - CSRF,怎么煮呢?

Angular 5 xsrf-token cookie 和 x-xsrf-header 不一样

php - PHP/MySQL 中的食谱查找器允许按成分过滤

php - mysqli_fetch_all 不从一个特定表中检索记录

php - Laravel 4.2 中数组到字符串的转换错误

Laravel Blade - 链/嵌入多种布局