2017-03-10 15 views
0

私は通常のDjangoプロジェクト構造でDjangoにWebアプリケーションを書いています。私の会社では、フロントエンドとバックエンドを別々のサーバーに分けたいと考えています。フロントエンドサーバーにはインターネットアクセスがあり、バックエンドには強力なファイアウォールがあり、ネットアクセスはありません。私がこのコンセプトから理解していることは、バックエンド(view.py)をDjangoプロジェクトから共有フォルダ(バックエンドサーバと共有)に分けたいということです。 view.pyファイルを別のフォルダに分割してプロジェクトにインポートすることは可能ですか?セキュリティのためのdjangoフロントエンドとバックエンドの分離

同じトピックについての別の質問です。このようなDjangoは良いセキュリティやセキュリティのアイデアを持っていますか?バックエンドを分離できない場合、バックエンドをハッキングから保護するために、どのような対策を講じなければなりませんか? (私は既にCSRFトークンを使ってLDAP認証を実装しており、すべてのページは@login_requiredによって保護されています)

答えて

0

「フロントエンド」に無効な管理者を提供するための2つのプロジェクトあなたのプロジェクトのurls.pyには「admin」と書かれています。もう1つはdjango管理者用で、あなたの会社のネットワーク内からのみアクセス可能です。

企業のネットワーク内でのみデータベースサーバーにアクセスできるようにする同じデータベースを共有するようにします。 djangoフォームでユーザー入力を処理したい場合は、フロントエンドアプリケーションで、1つのアプリケーションでのみモデルを作成するようにしてください。

「バックエンド」アプリケーションのadmin.pyを使用して、「バックエンド」プロジェクトに「フロントエンド」アプリケーションモデルを登録します。これにより、dbに格納されたデータにアクセスできるようになります。
サードパーティ製のアプリケーションやプラグインに関しては、 "バックエンド"で実装するためにurls.py(およびその場合は管理者を無効にする)、models.pyとadmin.pyを必ず確認してください。

希望すると助かります!

関連する問題