完全开源的网站

Fully open source website

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

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

这样的事情可能吗?

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

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

所以让我说对吧;您不仅要 提供 网站的源代码,还要 向任何访问者证明 该网站实际上是托管的,并且运行 提供的代码?

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

想一想:即使您通过浏览器公开应用程序的内部结构,您仍然控制着显示的所有内容,那么您如何才能让访问者相信他们所看到的不仅仅是看起来 与您面向公众的网站相似的假冒副本?

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

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

在某些时候,无论您做什么,都归结为基本的信任。如果您的举止公开正直,并竭尽全力表明您认真对待安全问题(*见下文),人们通常会信任您。为什么?因为人们通常会信任他人,只要他们看不到任何让您愚弄他们的动机(这是否明智,另当别论)。


(*) 旁注:请 显示 你很重视安全,don't just claim to do it!

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