如何在版本 3.2.13 中禁用 symfony 开发模式和分析器

我是 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

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


撒科打诨
浏览 118回答 2
2回答

jeck猫

您不应该公开 app_dev.php 文件。该文件仅用于开发环境环境在 dev 中定义$kernel = new AppKernel('dev', true);在这里获取产品$kernel = new AppKernel('prod', false);因此,您需要通过公开 app.php 来公开您的服务。这样,所有开发包(例如 AppKernel.php 上列出的包和配置)都不会被加载

拉莫斯之舞

我已经弄清楚这个问题了。需要取消下面代码的注释。// 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.');}
打开App,查看更多内容
随时随地看视频慕课网APP