【问题标题】:How to disable symfony dev mode and profiler in version 3.2.13如何在 3.2.13 版本中禁用 symfony 开发模式和分析器
【发布时间】:2020-08-24 04:25:04
【问题描述】:

我是 Symfony 的新手。我已经为移动应用程序开发了一个 Symfony API 项目,我可以看到存在安全问题。分析器暴露给任何人都可以使用 URL 检查 API 请求。

http://hostName/test-api/web/app_dev.php/_profiler/empty/search/results?limit=10

以下是移动应用程序的登录 API。 http://hostName/test-api/web/app_dev.php/app/sign-in

我可以知道如何删除开发环境和分析器吗?

【问题讨论】:

    标签: php symfony


    【解决方案1】:

    您不应该公开 app_dev.php 文件。此文件仅用于开发环境,如 documentation 中所定义的。

    环境定义here in dev

    $kernel = new AppKernel('dev', true);
    

    here for prod

    $kernel = new AppKernel('prod', false);
    

    所以你需要通过暴露 app.php 来暴露你的服务。这样就不会加载所有开发包like the bundles listed on the AppKernel.php 和配置

    【讨论】:

    • GrenierJ.谢谢你。它已经奏效了,我还必须做一些其他的改变。现在其他人无法访问 dev。
    【解决方案2】:

    我已经解决了这个问题。需要取消注释下面的代码。

    // This check prevents access to debug front controllers that are deployed by
    // accident to production servers. Feel free to remove this, extend it, or make
    // something more sophisticated.
    if (isset($_SERVER['HTTP_CLIENT_IP'])
        || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
        || !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', 'fe80::1', '::1']) || php_sapi_name() === 'cli-server')
    ) {
        header('HTTP/1.0 403 Forbidden');
        exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
    }
    

    【讨论】:

      猜你喜欢
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 2013-06-03
      • 2021-12-17
      • 2013-01-27
      • 2013-03-26
      • 1970-01-01
      • 2021-01-22
      相关资源
      最近更新 更多