ビューのユーザーエクスペリエンスとセキュリティの観点から
(A)これは、自分のデータベースに接続する1人のユーザーについて話しているPHPAdminのようなアプリですか?
(B)すべてのユーザーがチームと同じテーブルで作業する閉じたアプリケーションですか、データが破損している場合、これは同じ方法ですべてのユーザーに影響しますか? Djangoの認証テーブルで釣り合ってお互いを相手にしたくないという自信がチームには本当に必要です。
(C)これは、各ユーザが独自のテーブルで作業する公に登録するためのアプリケーションであり、djangoにとって重要なテーブルに影響を与えることによってシステムを停止させる可能性はほとんどないはずです(auth_*
など)。
これが(A)よりも(C)の場合は、これを行わないでください。むしろ(A)よりもむしろ(B)、それでは - むしろしないでください。これが有料のプロジェクトであり、データベースがスニッフィングされたり破損したりしないことを保証しなければならない場合、独自のSQLパーサーを作成して十分なセキュリティテストを行う必要はありません。また
:
ツールとしてのジャンゴで
、およびビジネスニーズに応じて、ユーザがDjangoのモデルを選択することができ、そこから複雑なフォームを作成するための有効な選択肢かもしれません(:= SQLテーブルを)とフィルタ(:= joins/where句)を使用して独自のレポートを作成します。
これはレポートツールについてのものです - あなたはDjangoの既存のレポートモジュールとDjango管理者が提供する可能性をチェックしたいかもしれません。
これでは不十分です。あなたはSQLインジェクションについて心配していますが、あなたのアプリケーションは文字通りSQLインジェクションだけです。データを変更しないようにするには、アクセスしているSQLアカウントに読み取りアクセスのみを許可し、必要なテーブルのみにアクセス権を設定します。 – Siyual
明示的に 'ALTER'を除外する以外に、誰でもSQLで見つけたあらゆる可能性のあるセキュリティーホールを常に最新の状態に保つ必要があります。個人的には、私は寝ることができるようにしたい – Sayse
私は、なぜこれをやりたいのですか?あなたの決定の背景は何ですか? – trixn