3

私は Symfony 2 php フレームワークを使用しています。これには、開発、運用、およびテストという 2 つの異なる使用環境があります。app.php フロント コントローラーは運用環境にアクセスし、app_dev.php フロント コントローラーは開発環境にアクセスします。Symfony に精通している人は、開発環境を開発者に限定する最善の方法を教えてもらえますか? Web アプリケーションの開発バージョンを自分のサイトのユーザーが閲覧できるようにしたくありません。本番環境の使用に制限する必要があります。

4

1 に答える 1

10

標準ディストリビューションには、開発コントローラの上部に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 を実行している場合、基本的な HTTP 認証を開発およびテスト コントローラーに追加できます。

于 2012-04-24T19:54:01.713 に答える