我想将我的webapp从cloudfoundry迁移到heroku。但仍然有一件事我很困惑。
每次要将应用程序部署到heroku时,都要将源代码推送到他们的git存储库。这个存储库有多安全?如果我不想将我的源代码交给其他人手中怎么办?
您对此有何看法?
答案 0 :(得分:15)
您不了解解释语言或托管服务提供商的工作方式。如果您使用像Ruby这样的解释语言,则需要在服务平台上使用源代码。即使您的代码经过压缩,模糊处理或字节编译,也必须在服务平台上进行提供,因此对于任何语言或托管提供商来说,这将是一个问题
你也不了解字节码的本质。字节码解释器可以读取您的文件。此外,还有Java反编译器将字节代码转换回源代码。搜索Stack Overflow将显示posts discussing Java decompilers。除非你认为“通过默默无闻的安全性”很有用,否则你应该停止以任何有意义的方式认为你的字节代码是安全的。
Herku上的Git存储库不是您在GitHub上找到的公共存储库。它与通过任何其他方式传输文件并没有“安全”,当然比许多服务平台上通常的FTP上传更安全。
安全始终是一种权衡。这绝对是重要的,但除非你已经定义了比一般不信任更好的威胁模型,否则你将无法开发出适当的控制。
答案 1 :(得分:2)
您正在使用某人的服务来运行您的应用。无论您使用何种服务,如果不将代码提供给他们,就无法做到这一点。即使您忘记了云并放置了自己的服务器,它仍然掌握在运行数据中心的人手中。
答案 2 :(得分:2)
因为要衡量“安全性”,你必须考虑可能的“风险”。从这样一个平台窃取源代码的调查值得付出努力吗?那么,人们可以从源代码中获得多少价值?
我认为通过简单地窃取源代码没有人真正成功。 更多是关于窃取想法。维护和扩展您未编写的代码很难。您需要时间来熟悉源代码(月/年,具体取决于代码库)。耗费所有这些时间和精力。学得更快的专家也可以从头开始,也许他们最终会得到更好的结果。
Facebook发布战略,论文和技术见解。很多Facebook模仿者都在那里,无人问津。
您的业务取得成功不仅仅与软件有关。重要的部分是您对产品的品牌忠诚度/信任度,用户体验以及可见的整体成功。
与在Heroku上运行的数千个应用程序相比,为什么源代码如此特殊。在那里所有这些好东西之间找到你的存储库甚至很难。会有成功的事情,有些事情不会,没人知道。
但是,如果一些单一的技术算法 是您的核心业务(加密软件,图形驱动程序算法......)并且它们只是可以采用,那么偷它可能是值得的。
您可以担心的事项:在哪里存储敏感的客户信息? 大多数人对销售电子邮件地址,电话号码,姓名,有关您的业务和客户的财务信息更感兴趣。但是,......如果您没有足够的敏感数据,那么您就不会感兴趣。那么,您的应用程序是否包含1亿个索尼网络信用卡帐户? ;)
好的,如果该应用程序包含iPhone 5& D的所有蓝图,数据,秘密想法和设计。 6它可能也很有趣。