Symfony 2 app.php vs app_dev.php

时间:2012-04-24 19:42:28

标签: php symfony

我使用的是Symfony 2 php框架,它有几个不同的使用环境:开发,生产和测试。 app.php前端控制器访问生产环境,app_dev.php前端控制器访问开发环境。任何熟悉Symfony的人都可以建议将开发环境限制为开发人员的最佳方法是什么?我不希望我的网站用户可以查看我的网络应用程序的开发版本,他们应该被限制使用生产环境。

1 个答案:

答案 0 :(得分:10)

嗯,开箱即用,标准发行版在top of the dev controller进行了基于IP的后卫检查。

// 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'], array(
        '127.0.0.1',
        '::1',
    ))
) {
    header('HTTP/1.0 403 Forbidden');
    exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}

但是,正如评论所表明的那样,你不会对这种做法感到满意。例如,如果您正在运行Apache,则可以add basic HTTP Authentication到开发人员和测试控制器。