首页 > 解决方案 > 在 github 上公开后端是不好的做法吗?

问题描述

这可能是一个愚蠢的问题,但我绝对是后端代码的初学者,并且我正在尝试专业地练习构建应用程序。将我的应用程序的整个代码库(不包括数据库密码、api 密钥和其他敏感数据位)推送到公共 github 存储库是否被认为是不好的做法?这是否会将我的应用程序(一旦托管)置于易受攻击的位置?如果将 github 存储库设置为私有,是否安全?在github上处理前端和后端的专业方式是什么?我已经在网上搜索过,但是“后端”和“github”只是显示“github 页面不支持服务器端代码”的结果。这很有趣,但完全不同。

标签: phpgithubbackend

解决方案


假设您的应用程序遵循最佳实践并且没有漏洞,这绝对安全,只要您不(意外)包含您提到的任何凭据或机密。

如果您的应用程序确实存在漏洞,将其放在 GitHub 上实际上可能会降低危险。如果该漏洞存在于您正在使用的依赖项中,GitHub 可能会提醒您该漏洞,让您意识到它并允许您修复它。此外,其他用户可能会发现漏洞、报告问题或 PR 并帮助您修复它。另一个额外的好处是,如果您自己的计算机受到威胁,您的代码可以安全地存储在异地。

另一方面,有动机的攻击者可能想要利用该漏洞。为了做到这一点,他们仍然需要筛选您的代码以找到它,然后攻击您是使用您的软件的人。除非您的软件被高价值目标或大量目标使用,否则这对攻击者来说是不经济的。

如果将 github 存储库设置为私有,是否安全?

差不多吧。私人回购的内容在 ToS 的 E 节中进行了规定:

简短版:您可能有权访问私有存储库。我们将私有存储库的内容视为机密,我们仅出于支持原因、在您的同意或出于安全原因需要时访问它。

我鼓励您阅读 ToS 的整个部分,如果您担心私人回购的机密性,这不是那么长,但值得一读。

请注意,微软现在自己在 GitHub 上的私人存储库中托管 Windows 源代码。许多其他公司也这样做。GitHub 在这方面赢得了值得信赖的声誉。

恕我直言,我会毫不犹豫地在 GitHub 上公开发布开源项目。但是,如果该项目是一个封闭源代码的盈利应用程序,那么问题就出现了,为什么您首先要提供源代码。私人回购将更适合于此。


推荐阅读