2

Symfony セットアップの一環として、次のタスクを実行する必要があります。

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

指定したユーザーapp/config/parameters.iniがすべての権限を持っていない場合、これは失敗します。スキーマを更新する場合は、テーブルの削除/変更などの制限された操作を実行できる十分な権限が必要になるため、十分に公平です。

ただし、私が懸念しているのは、アプリの通常の使用では、この同じデータベース ユーザーも使用されることです。これはセキュリティ上の脆弱性だと思います。

どうすればこれを回避できますか?

--

追加情報:

Symfony 2 : 複数の動的データベース接続

この質問は、Symfony が使用する複数のデータベースを指定する方法を示しています。これは私にとって役に立ちますか?データベースを切り替える必要はありませんが、アプリの実行時に制限されたユーザーを使用することを指定できるようにするだけです。ただし、システム管理時には、ルート権限を使用できる必要があります。

4

1 に答える 1

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 で、構成の同じブロックを追加しますが、ユーザー名/パスワードを変更します。次に、アプリが運用モードで実行されている場合、権限の低いユーザーが使用されます。

于 2012-06-26T15:49:40.667 に答える