我该如何保护源代码免受网络主机的攻击?

6

您是否担心您的网络主机可以访问您的所有文件并能够下载您的整个 Web 应用程序? 您可以采取哪些步骤来保护自己? 更具体地说,我想知道如何保护我对 WordPress 所驱动的网站所做的定制开发。


当你不信任他们时,就让他们离开。确保没有其他人可以访问您的文件/数据的唯一方法是,不要将您的文件/数据提供给其他人。 - KingCrunch
4个回答

9

您是否担心网络托管方能够访问您的所有文件并且基本上可以下载您的整个网络应用程序?

不。

您可以采取哪些措施来保护自己?

没有。

如果您不能信任您的网络托管方,那么您必须立即更换提供商,因为无法保护网站免受维护其运行的服务器的管理员的攻击。

这就像您作为企业雇佣财务主管或系统管理员一样 - 如果他们不能访问公司的财务记录或计算机系统,他们就无法完成工作。 您必须相信这些人不会窃取您公司的机密信息。

我对如何保护我在WordPress上开发的定制开发非常感兴趣。

并不是要贬低您的工作价值,但很有可能没有人关心它们。 定制开发远不止于拥有代码 - 您还需要一个能够理解并使用它的人。 我不认为商业托管平台会存在代码盗窃等问题。


更像是一个哲学家的回答,而不是一个聪明的回答。如果你不信任人性,为什么要锁门。 - Viktor Joras
1
@Viktor,那不是正确的比喻。你锁门是因为陌生人可能会伤害你。这是常识。在这种情况下,密码和防火墙保护网站。但是在生活中有些情况下,你必须在某种程度上信任与你合作的人,因为你无法有意义地锁门、隐藏东西或控制他们的每一个行动。你托管东西的服务器的系统管理员绝对是这种关系之一。 - Pekka

3
你可以使用各种加密引擎,如PHP的Zend来加密你的应用程序。或者在上传到Web主机之前,你也可以将代码进行混淆处理。

4
网络主机需要支持加密引擎的解密器,而混淆从来都不是任何安全性的体现(或者其他意思)。这只是浪费时间。 - KingCrunch
@KingCrunch 嗯,不完全是。加密/混淆至少可以确保主机上没有可用的代码。这对于PHP和JS来说并不是一个坏建议。 - Pekka
当它不能使用时,为什么要将其放在机器上呢?;) 嘿嘿,我知道你的意思。#加密:我不知道任何支持它的网络主机。如果被支持,它会起作用,但在大多数情况下并不是这样。#混淆:也许吧,但是随着现代IDE支持的发展,这并不是真正的障碍。 - KingCrunch
唯一且正确的答案。 - Viktor Joras

2
如果你不信任你的网络主机,不要使用他们
无法保护代码免受拥有硬件并在服务器上具有管理员权限的敌人的攻击。

1
像 Facebook 和 Microsoft 这样的大公司如何应对成千上万的员工窥探?别天真了。 - Viktor Joras
@ViktorJoras:大型公司拥有访问控制,防止员工在没有业务理由的情况下访问用户数据(这可能是法律要求的,例如HIPAA)。 - SLaks
1
不是这样的。Facebook使用一种定制的PHP变体,在执行之前进行编译。更不用说用C++编写的模块了。Twitter使用Scala,同样是预编译的。微软开发人员只能访问他们的开发范围,其他所有内容都是二进制的。在共享员工存储中没有源代码。OP的问题非常明确,他也应该得到一个明确的答案。 - Viktor Joras
@ViktorJoras:OP 正在询问主机上的客户代码,而不是内部代码。 - SLaks
1
不,OP正在询问如何保护暴露的PHP代码。 - Viktor Joras

1

你无法阻止你的网络主机查看你的文件。毕竟这是他们的服务器,他们有root访问权限。

通常情况下,没有人会对你的共享主机网站产生足够的兴趣来深入了解代码。很抱歉,但这是事实。如果你变得足够重要,那么你将运行只有你可以访问的自己的服务器。

对抗可能做出不当行为的主机的最佳防御措施是寻找主机评论,并向朋友和其他可信的同事征求建议。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接