Flaskチュートリアルにはpipの使用が含まれていることに気づきました。サーバーでのセットアップを簡単にするホイールをローカルで作成するためにのみ使用されているようですが、Web開発の初心者として私は興味があります:誰かが実際にPyPIのような公開リポジトリにWebサイトをアップロードするためにずっと行きますか?そうすることの意味(セキュリティ関連またはその他)は何ですか?
いいえ、プライベートWebプロジェクトをPyPI(Python Package Index)にアップロードしないでください!PyPIは、共有を目的とした公開された公開プロジェクト用です。
Webプロジェクトのパッケージを作成することは、運用サーバーにデプロイするときに利点がありますが、パッケージがPyPIで利用可能である必要はありません。pip
コマンドラインツールは、あまりにもプライベートにGitやMercurialのか、SVNリポジトリまたはプライベートパッケージのインデックスを含む他のリポジトリからだけでなく、ファイルシステムからパッケージを検索し、インストールすることができます。
記録のために:私が開発した(支援した)最近展開したFlaskプロジェクトのパッケージを作成することを気にしませんでした。これらは、Githubリポジトリから直接、クラウドでホストされているハードウェアやDockerコンテナで本番環境に導入されました。依存関係はpip
(すべての場合にPipenvツールによって駆動されるように)インストールされますが、プロジェクトコード自体はチェックアウトから直接ロードされただけです。
とは言うものの、これらのプロジェクトが継続的インテグレーションの使用を開始する場合は、結果としてテストされたコードをホイールとしてパッケージ化して本番環境でも使用するのが理にかなっているかもしれません。それらのホイールをプライベートインデックスまたはサーバーに公開します。プライベートパッケージインデックスを管理できるプロジェクトがいくつかあり、SaaSサービスもいくつか利用可能です。
PyPIに公開する場合は、誰でもパッケージをダウンロードして、Webサイトの動作を分析できます。ブラックハットハッカーがプロジェクトのセキュリティ問題をそのように見つけて悪用するのは簡単なことです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加