从远程服务器运行PHP代码?

时间:2012-09-03 21:55:58

标签: php wordpress wordpress-theming remote-access

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

3 个答案:

答案 0 :(得分:2)

如果您的客户服务器has allow_url_include set.,这在技术上是可行的。但是,由于四个原因,这仍然是一个坏主意:

  • 速度:打开另一个HTTP请求并等待每次有人查看您的客户端网站时,它都会变得非常快。它还会打击你的网站。
  • 安全性:远程服务器上的PHP文件(在本例中为您的服务器)需要以纯文本格式打印。这可能是一件坏事,特别是如果你在其中编写了定制的,可能不安全的代码。巧合的是,这也意味着您的方法实际上不会阻止您的客户查找脚本的功能。也没有什么能阻止客户端加载未受保护的脚本的URL,将其粘贴到他的WordPress中目录,并更改include。此外,如果您的服务器遭到入侵或有人抢夺您的域名,他们就可以将代码注入您客户的服务器而不受惩罚。
  • 道德规范:除非您的客户明确了解此安排,否则这是不道德的,因为如果您的业务关系终止,即使终止您的FTP / SSH后,他或她仍然容易受到代码注入攻击/ WordPress仪表板访问。
  • 可靠性:如果您这样做,只要您的网站处于离线状态,您的客户网站就会因错误的错误消息而死亡。

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

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

  1. 自己托管他的网站。如果你的技术可以建立一个专门的托管公司,那么这可能是有利可图的。
  2. 构建API ,可以授予对您的专有数据或处理的计量访问权限,并编写WordPress插件以与API通信。这可以通过鼓励开发人员为您的系统编写软件来实现盈利,而WordPress插件可以降低进入与您做生意的障碍。

答案 1 :(得分:2)

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

做到这一点

答案 2 :(得分:0)

你可以放一个.htaccess规则,将/functions.PHP重定向到你的主页。这就是Facebook所做的。

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