【问题标题】:How to Solve Facade\Ignition\Http\Middleware\IgnitionEnabled?如何解决 Facade\Ignition\Http\Middleware\IgnitionEnabled?
【发布时间】:2020-02-03 12:59:01
【问题描述】:
----------------------------------------------------------------------------------+
| Domain | Method   | URI                        | Name             | Action                                                                 | Middleware
                                                                                  |
+--------+----------+----------------------------+------------------+------------------------------------------------------------------------+--------------------------------------------------
----------------------------------------------------------------------------------+
|        | GET|HEAD | /                          |                  | Closure                                                                | web
                                                                                  |
|        | POST     | _ignition/execute-solution |                  | Facade\Ignition\Http\Controllers\ExecuteSolutionController             | Facade\Ignition\Http\Middleware\IgnitionEnabled,F
acade\Ignition\Http\Middleware\IgnitionConfigValueEnabled:enableRunnableSolutions |
|        | GET|HEAD | _ignition/health-check     |                  | Facade\Ignition\Http\Controllers\HealthCheckController                 | Facade\Ignition\Http\Middleware\IgnitionEnabled
                                                                                  |
|        | GET|HEAD | _ignition/scripts/{script} |                  | Facade\Ignition\Http\Controllers\ScriptController                      | Facade\Ignition\Http\Middleware\IgnitionEnabled
                                                                                  |
|        | POST     | _ignition/share-report     |                  | Facade\Ignition\Http\Controllers\ShareReportController                 | Facade\Ignition\Http\Middleware\IgnitionEnabled,F
acade\Ignition\Http\Middleware\IgnitionConfigValueEnabled:enableShareButton       |
|        | GET|HEAD | _ignition/styles/{style}   |                  | Facade\Ignition\Http\Controllers\StyleController                       | Facade\Ignition\Http\Middleware\IgnitionEnabled

【问题讨论】:

  • “解决”是什么意思?有什么问题?
  • 已解决。非常感谢

标签: laravel eloquent laravel-middleware


【解决方案1】:

如果您的生产服务器中有大量 POST 请求 /_ignition/execute-solution 被随机攻击者发出,并且您注意到请求调用了以下控制器和中间件:

Controller  Facade\Ignition\Http\Controllers\ExecuteSolutionController
Middleware  Facade\Ignition\Http\Middleware\IgnitionEnabled, Facade\Ignition\Http\Middleware\IgnitionConfigValueEnabled:enableRunnableSolutions

您必须在.env 文件中将APP_DEBUG 设置为false,而不是删除Facade/Ignition 包。

【讨论】:

  • 你能解释一下@pableiros吗?
  • @StanislavStankov 攻击者正试图使用​​来自Ignition 的漏洞(某种)在服务器中执行“远程代码执行”。欲了解更多信息:ambionics.io/blog/laravel-debug-rce
  • 有没有办法用 .htaccess 阻止下面的 url(端点),所以 apache mod_rewrite 模块可以阻止它?
【解决方案2】:

解决不了问题,这些是 Laravel 6 的新调试包Facade/Ignition 的路由

它们是必需的,以便 Laravel 在发生错误时向您显示错误

所以忽略它们

但是,如果你想删除这些路由(不推荐),你可以从composer.json中删除这一行

 "require-dev": {
        "facade/ignition": "^1.4", <--- Remove this one
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^3.0",
        "phpunit/phpunit": "^8.0"
    },

然后运行

composer update

但是你不会看到自定义错误页面,而是默认的 PHP7 错误表和堆栈跟踪。

您仍然可以通过安装旧包filp/whoops 获得它

composer require filp/whoops

【讨论】:

  • 我也遇到了这个错误。当我删除 Facade/Ignition 时,我会得到一个更准确的错误屏幕。那我为什么要保留它呢?
  • 最新版 Laravel 使用 Flare 显示错误,比 IMO 好很多
【解决方案3】:

此问题的最新解决方案:

  1. 更新facade/ignition:

composer update facade/ignition

  1. 如果您没有config/ignition.php,请运行:

php artisan vendor:publish --tag=ignition-config

  1. 然后制作这个版本:

'enable_runnable_solutions' =&gt; false,

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-13
    • 2020-10-17
    • 2020-09-07
    • 1970-01-01
    • 2020-10-24
    • 2020-04-23
    • 2020-05-10
    • 2020-12-28
    相关资源
    最近更新 更多