symfony:数据库连接确实需要root用户

时间:2012-06-26 14:12:00

标签: php database security symfony

作为Symfony设置的一部分,我需要执行此任务:

php app/console doctrine:schema:update --force

如果我在app/config/parameters.ini中指定的用户没有所有权限,则会失败。很公平,因为如果你想更新架构,你需要足够的权限来限制操作,比如删除/改变表。

然而,我担心的是,在经常使用应用程序时,也会使用同一个数据库用户。我认为这是一个安全漏洞。

我该如何避免这种情况?

-

额外信息:

Symfony 2 : multiple and dynamic database connection

这个问题告诉我如何指定Symfony使用的多个数据库。这会对我有用吗?我真的不需要能够在数据库之间切换,但只能指定应用程序在运行时使用受限用户;但是,在系统管理时,我需要能够使用root权限。

1 个答案:

答案 0 :(得分:2)

在config.yml中,使用root用户。这将在控制台和开发模式下工作。

    doctrine:
          dbal:
             driver:   %database_driver%
             host:     %database_host%
             port:     %database_port%
             dbname:   %database_name%
             user:     root
             password: pw
             charset:  UTF8

在config_prod.yml中,添加相同的配置块,但更改用户名/密码。然后,当应用程序在生产模式下运行时,它将使用权限较低的用户。