【问题标题】:What are the risks/benefits of uploading my website to a public repository?将我的网站上传到公共存储库有哪些风险/好处?
【发布时间】:2019-06-17 07:48:04
【问题描述】:

我注意到Flask tutorial 涉及使用 pip。看起来它只用于在本地创建一个轮子,这将使在服务器上的设置更容易,但作为一个网络开发新手,我很好奇:有没有人真的一路上传他们的网站到像 PyPI 这样的公共存储库?这样做有什么影响(安全相关或其他方面)?

【问题讨论】:

    标签: python flask pypi python-wheel


    【解决方案1】:

    不,您应该将私有 Web 项目上传到 PyPI(Python 包索引)! PyPI 适用于旨在共享的公共、已发布项目

    为您的 Web 项目创建包在部署到生产服务器时具有优势,但这并不要求您的包在 PyPI 上可用。 pip 命令行工具可以从其他存储库(包括私有 Git 或 Mercurial 或 SVN 存储库或私有包索引)以及文件系统中查找和安装包。

    郑重声明:我没有为我(帮助)开发的任何最近部署的 Flask 项目创建包而烦恼。这些直接从他们的 Github 存储库在云托管硬件和/或 Docker 容器中投入生产。 依赖项使用pip 安装(在所有情况下由Pipenv tool 驱动),但项目代码本身只是直接从结帐中加载。

    也就是说,如果这些项目开始使用持续集成,那么在生产中也可以使用生成的测试代码(打包为轮子)。将这些轮子发布到私有索引或服务器;已经有几个项目甚至一些 SaaS 服务可供您管理私有包索引。

    如果您确实发布到 PyPI,那么任何人都可以下载您的包并分析您的网站是如何工作的。通过这种方式,黑帽黑客可以轻松找到并利用您项目中的安全问题。

    【讨论】:

    • private GitHub 存储库,我假设?
    • @NathanielJones:GitHub、Gitlab、Bitbucket、您自己的服务器,以及任何支持版本控制协议的设置。
    猜你喜欢
    • 1970-01-01
    • 2010-10-12
    • 2021-05-31
    • 2012-08-14
    • 2019-11-17
    • 2017-01-11
    • 1970-01-01
    • 2015-07-21
    • 2011-05-13
    相关资源
    最近更新 更多