【问题标题】:laravel middleware without use workinglaravel 中间件不使用工作
【发布时间】:2018-12-30 02:18:00
【问题描述】:

我的问题是:我意识到 laravel 中的中间件在路由器像洋葱皮一样运行之前运行(类似这样) 我们有一组名为 web 的中间件,它的工作类似于创建会话和创建 CSRF_TOKEN / 为什么我可以在不使用 web.php 文件中的这些中间件的情况下使用 CSRF_TOKEN。 还是 CSRF_TOKEN 中间件是别的东西? (我在帖子表单中使用csrf_token)并且我的laravel版本是5.6)

【问题讨论】:

    标签: php laravel csrf middleware


    【解决方案1】:

    Laravel 中的中间件在路由器之后运行,此时控制器已经实例化,但在执行特定控制器操作之前。

    此外,您不应在 web.php 文件中使用 CSRF_TOKEN 字段 - 中间件在处理传入请求时应包含通用逻辑(清理数据、限制访问等),控制器操作应包含特定于路由的逻辑并提供响应。您的 web.php 文件已设置为定义路由,它不应包含处理传入请求的代码。

    编辑:如果您只是想知道VerifyCsrfToken 是做什么的,它只会检查请求中的传入令牌是否是有效的。

    【讨论】:

    • 你的意思是?如果我不使用VerifyCsrfToken,是否存在代币欺诈的可能?
    • 是的。确保在表单和 AJAX 请求中使用 csrf_token(),并让此中间件负责检查应用中的所有路由。
    猜你喜欢
    • 2018-07-07
    • 2017-09-10
    • 2017-07-20
    • 1970-01-01
    • 2016-05-26
    • 2019-02-22
    • 1970-01-01
    • 2017-12-28
    相关资源
    最近更新 更多