APコンピュータサイエンスのクラスのZoomコールで提出しなければならないプロジェクトがあります。 flask私のラップトップからポートフォワードに実行しているサイトがあります。サーバーを実行すると次のようになります。
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
私はこれを数時間だけ実行する予定であり、特に効率的である必要はありませんが、コンピュータを攻撃のために開けたくありません。 (このようにデバッグモードで実行するのは非常に危険です)。 Webアプリには、盗むべき機密データはありませんが、リモートコード実行などのためにマシンを開かないようにしたかったのです。
私の理解は、Flaskは、セキュリティではなく安定性のため、本番環境ではお勧めしません。WSGIまたはGunicornを使用すると、マルチスレッド/マルチプロシージャをより効果的に利用し、複数のリクエストを同時に処理できます。
初心者の場合、Flask=からWSGIに移動するのは難しいかもしれません(Gunicornは少し簡単ですが、まだ学習曲線があります)。これが何かをデモするために数時間だけの場合あなたのクラスに-次の警告を付けて、Flaskを公開するために行くと思います。
お役に立てば幸いです。
開発サーバーはデモに完全に適していますが、次の点に注意してください。
flask run --Host=0.0.0.0
ネットワークで使用できるようにします。内部ネットワークを介してデモを行う場合は、これで問題ありません。だが...他の人があなたのアプリケーションにアクセスしたいように聞こえます(そうでなければ、あなたは正しく移植しないでしょうか?)。それが内部ネットワーク内にある場合、それのために行きます。それ以外の場合はしないでください。
デバッグがオンになっているときのWerkzeugサーバーの this 脆弱性に関連している可能性があるというリモートコード実行の心配が見えます。アプリケーションを共有する場合は、デバッグを無効にするのが賢明だと思います。
FlaskにはCSRF保護などの組み込みのセキュリティ保護が付属していますが、自分で対処する必要があるほとんどのセキュリティ選択( セキュリティに関する考慮事項 )入力検証、シークレット管理、セッション管理、セキュリティヘッダー、HTTPSはアプリケーションをより幅広いWebに公開する前に真剣に検討する必要のある事項。それ以外の場合は、XSS、SQLインジェクションなどの攻撃を招くでしょう。