【问题标题】:Symfony 3 - Not allowed to access app_dev.phpSymfony 3 - 不允许访问 app_dev.php
【发布时间】:2016-08-17 11:27:55
【问题描述】:

我刚刚购买了一些共享主机 (OVH.com - PHP 5.6.21) 来托管 Symfony 3 项目(版本 3.1.3)。

在服务器上上传 Symfony 的 config.php 文件时,它只显示 2 条建议消息以提高站点速度,但没有任何可能阻止站点工作的信息。因此,托管似乎足以正常运行该项目。

我发送了服务器上的所有文件和文件夹,但是当我尝试访问 app_dev.php 页面时,我收到以下错误消息:

You are not allowed to access this file. Check app_dev.php for more information.

我知道我必须将我的 IP 地址添加到 app_dev.php 文件中允许的 IPs 数组中,所以这就是我所做的(XXX.XXX.XXX.XXX 是我的 IP 地址):

if (isset($_SERVER['HTTP_CLIENT_IP'])
    || isset($_SERVER['HTTP_X_FORWARDED_FOR'])
    || !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', 'XXX.XXX.XXX.XXX', '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.');
}

我尝试了不同的方法来查看问题可能出在哪里:

  • 从条件中删除 !(in_array) 部分 => 错误 500
  • 删除整个条件块 => 我可以访问该站点(即使仍然存在一些与 MySQL 相关的错误)

var/logs/dev.log 文件完全为空,即使权限为 777。

如果您对问题可能来自哪里有任何想法,如果您能帮助我,我会很高兴。

提前感谢您的帮助!

PS:当我尝试进入 prod 环境 (app.php) 时,我收到错误 500,但 var/logs/prod.log 文件包含有关 MySQL 错误的行...所以我想这很好。

【问题讨论】:

  • 对于初学者;转储 if 条件的每个部分以查看失败的原因,或一次尝试一个条件
  • 谢谢。看来问题来自$_SERVER['HTTP_X_FORWARDED_FOR'] 条件。如果我删除它,不确定后果。
  • 即使有@Gerry 的回答,您是否仍然在 PROD 中遇到 500 个错误?上面的配置对于允许 DEV 访问看起来是正确的。
  • 谢谢,没有更多错误,现在一切正常(但我仍然无法访问开发,因为 HTTP_X_FORWARDED_FOR 条件)

标签: php symfony shared-hosting symfony-3.1


【解决方案1】:

阅读代码你就知道问题出在哪里了 :) 或者至少,这可能是以下两个原因之一:

  • 您的请求包含 Client-IPX-Forwarded-For 标头,可能由安装在您网站之前的反向代理(如 Varnish)设置。
  • 您没有配置正确的 IP 地址。

不管实际原因,建议不要在生产服务器上打开 app_dev.php 前端控制器。开发应该在您的本地机器上完成。篡改此检查可能会意外地向外界开放开发环境。

【讨论】:

  • 我知道我不应该在生产环境中使用 app_dev.php,但这是我第一次尝试将 Symfony 项目投入生产环境。在我的本地机器上一切正常,所以我想确保它在远程机器上是一样的。看来问题来自$_SERVER['HTTP_X_FORWARDED_FOR'] 条件。如果我删除它,不确定后果。
  • 如果有代理(似乎是这样),REMOTE_ADDR 通常会包含代理服务器的 IP 地址,而不是您自己的公共 IP 地址。为什么要在生产环境中使用开发环境?
  • 我只是想确保生产中的一切都像我的本地机器一样:在 prod 和 dev 环境中工作。
猜你喜欢
  • 2018-01-13
  • 1970-01-01
  • 2017-04-16
  • 2019-09-07
  • 1970-01-01
  • 2016-04-21
  • 2018-12-23
  • 2011-07-28
  • 2020-05-03
相关资源
最近更新 更多