我有一个使用 PHP 制作的网站。
因为我将我的网站托管在公共服务器上;我想知道是否可以通过这种方式加密我的网站的 PHP 源代码,以使入侵者无法读取 PHP 文件。
如果不行,您能否建议其他语言来加密我们的源代码并使其能够在服务器上运行。
答案1
有各种各样的混淆这些工具使你的源代码难以理解,但仍然具有完全相同的功能。[我制作了其中一个;请参阅我的简历]。
使用其中任何一种,您都可以在开发站点上使用源代码的原始明文形式。您可以对明文进行模糊处理以生成受保护的版本,然后进行部署。这意味着对部署服务器具有无限访问权限的人只能看到模糊处理的文本,这使得代码很难理解。
当然,您应该在部署混淆版本之前在开发站点上对其进行测试,以确保混淆器没有破坏某些东西(或者更有可能的是,您对混淆器进行了错误配置)。
这不是理想的情况;只要下定决心,对手只要付出足够的努力,就可能对您的代码进行逆向工程。通常,这足以让他们灰心丧气,而这正是您所需要的。
关于加密器:这些想法非常糟糕,因为它们包含解密源代码的逻辑。因此,如果您部署了代码的加密版本,您的对手可以使用您也必须提供的解密器,轻松获取程序的明文。
答案2
除非攻击者明确地进入你的服务器,否则你无需担心你的 PHP 代码,因为无论你使用什么 Web 服务器,它都会解析并运行 PHP 代码之前将其发送到外面,这样攻击者就不会知道正在执行的代码。
但是,如果您担心服务器和客户端之间可能传输的数据,我建议使用SSL/TLS
来加密服务器和客户端之间的任何数据 - 这应该足够安全,以便您的服务器保持安全。