从远程服务器运行PHP代码


Running PHP code from remote server?

我想阻止访问Wordpress主题中的函数文件。我想通过将functions.php放在我的服务器上并从客户端的服务器调用它来隐藏它。这是可行的解决方案吗?有更好的方法吗?

为什么不更改权限?您也可以将它移到目录树的非公共部分,并放置一个fwd文件和代码。这就是我使用wp-config的方式。我不明白为什么你不能用functions.php 来做到这一点

如果客户端的服务器设置了allow_url_include,那么这在技术上是可能的。然而,这仍然是一个坏主意,原因有四:

  • 速度:每次有人查看您的客户端网站时,打开另一个HTTP请求并等待它完成会变得非常慢。它也会冲击你的网站
  • 安全性:远程服务器(在本例中为您的服务器)上的PHP文件需要以明文打印。这可能是一件坏事,尤其是如果你在其中编写了自定义的、可能不安全的代码。巧合的是,这也意味着你的方法实际上不会阻止你的客户端了解脚本的作用没有什么可以阻止客户端加载未受保护脚本的URL,将其粘贴到他的WordPress目录中,并更改include。此外,如果你的服务器被破坏或有人侵占了你的域,他们可以将代码注入你的客户端服务器而不受惩罚
  • 道德:除非您的客户明确知道这一安排,否则这是不道德的,因为如果您的业务关系终止,即使在终止您的FTP/SSH/WordPress仪表板访问后,他或她仍然容易受到代码注入的影响
  • 可靠性:如果你这样做,任何时候你的网站离线,你的客户网站都会出现一条混乱的错误消息

在服务器上重新定位可执行代码可能是一个非常糟糕的主意,虽然这在技术上是绝对可行的,但有很多令人信服的原因说明为什么这样做是一个糟糕的主意。

如果你试图保护客户的专有代码,你唯一的好选择是:

  1. 自己主持他的网站如果你的技术是一家专门的托管公司可以围绕的,那么这可能是有利可图的
  2. 构建一个API,可以对您的专有数据或处理进行计量访问,并编写一个WordPress插件与API对话。这可以通过鼓励开发人员为您的系统编写软件来盈利,而且WordPress插件可以降低与您做生意的门槛

您只需放置一个.htaccess规则即可将/functions.PHP重定向到您的主页。Facebook就是这么做的。

编辑:请参阅下面的评论。