【问题标题】:Fully open source website完全开源的网站
【发布时间】:2016-11-15 01:26:17
【问题描述】:

我有一个关于构建完全开源网站的理论问题。 我想知道我是否可以编写一个网站,比如说用 PHP,它既实用又透明,因此用户可以享受网站的功能并阅读使网站成为可能的代码。

例如: index.php 是一个用 PHP 编码的功能齐全的索引页面 假设用户想查看 index.php 的代码,这样他就可以 100% 确定服务器端所做的一切。

这样的事情可能吗?

【问题讨论】:

  • 是的,有可能。
  • Github 非常适合这样做。
  • 我不同意上面的cmets:您可以提供开源代码,但我怀疑您是否真的可以证明(直接通过浏览器)指定的代码与您的引擎盖下运行的代码相同地点。我相信这就是用户所要求的。不过,这是一个有趣的问题。

标签: php security open-source


【解决方案1】:

所以让我把这件事做对吧;您不仅想提供网站的源代码,还想向任何访问者证明网站实际上是在提供的代码上托管和运行的?

您也许可以做出一些看起来相当有说服力的事情(直接通过浏览器公开系统中的内部文件?),但我不确定您是否可以正式证明您的主张。

想一想:即使您通过浏览器暴露了应用程序的内部内容,您仍然可以控制正在显示的所有内容,那么您如何才能让访问者相信他们所看到的不仅仅是假的复制看起来类似于您的公开网站?

无论如何,您为什么要这样做?是的,我知道您提出的这个问题是一个假设性问题,但无论如何让我们考虑一下实际后果:假设您的目标是让您的用户信任您和您的服务,您可能可以通过遵循一些简单的规则更轻松地实现这一目标。

  • 在开放存储库(例如 Github)中为您的系统提供源代码,并提供相关信息。
  • 公开提供其他相关信息,并以专业和正直的方式行事。

无论您做什么,都归结为基本的信任。如果您的行为公开且正直,并竭尽全力表明您认真对待安全(*见下文),人们通常会信任您。为什么?因为人们通常会信任他人,只要他们看不到您欺骗他们的任何动机(这是否明智,请另行讨论)。


(*) 旁注:请 并且 显示 您非常重视安全,don't just claim to do it

怎么样?应用安全最佳实践(更新证书和加密、安全存储和处理敏感数据等),并公开记录。对所采取的合理安全措施的良好描述将表明您知道自己在做什么,并且看起来不太可能是在伪造它。

【讨论】:

    【解决方案2】:

    是的,这是完全可能的,事实上有些网站已经这样做了。通常,开源网站可以通过某种类型的版本控制(例如GithubBitbucket)获得源代码。这将使每个人都能看到源代码(取决于可访问性,它们也是只有某些人可以访问的私有存储库)。

    Reddit 是具有可公开访问其源代码存储库的站点的一个示例。但是,他们使用 Python 而不是 PHP。

    【讨论】:

    • 作为最终用户,您如何确定此类存储库中提供的代码与服务器上运行的代码相同?
    • @ivotica 简短的回答是你不能确定。这是一个有趣的想法。
    • 问题是“可以 100% 确定在服务器端完成的所有事情”。实时站点上很容易出现其他代码,而且这些代码很可能是恶意的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多