Laravel应用程序环境 - 最佳实践和安全建议

时间:2014-02-01 18:57:01

标签: php security laravel laravel-4

我计划在Laravel中构建一个多租户应用程序,其中包含一个主子域,其中包含相关公共文件和每个客户的子域,这些客户将拥有指向“主”文件的自己的数据库。我打算尽可能自动化,例如单击创建子域的按钮,将创建数据库并设置相关的配置文件。这一切都没问题,但我不确定我的做法是否最好用,以及是否有任何安全问题。

bootstrap/start.php文件中,我有以下内容:

$env = $app->detectEnvironment(array(
    $_SERVER['SERVER_NAME'] => array($_SERVER['SERVER_NAME'])
));

这基本上意味着test.example.co.uk的环境是test.example.co.uk。我的安装脚本将在'app / config'中创建一个配置目录'test.example.co.uk`,并在那里添加相关的数据库配置。

这一切都按照我的预期工作,所以我只是在寻求建议,这有什么漏洞吗?

仅添加 - 用户将无法使用安装脚本,仅适用于开发人员

1 个答案:

答案 0 :(得分:2)

我认为您的代码没有任何安全问题。我注意到的一件事是你只限于一个环境。这是我的环境设置:

$env = $app->detectEnvironment(function()
{
    return getenv("ENV") ? : "local";
});

现在我的环境将被自动检测 - 在服务器上我确实提供了“钩子” 以 getenv 函数的形式,在本地计算机上,它是本地。 我也发送回调到 detectEnvironment 而不是数组 - 以获得更大的灵活性。