2

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

4

3 回答 3

2

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

于 2012-09-05T00:01:03.617 回答
1

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

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

在您的服务器上重新定位可执行代码可能是一个非常糟糕的主意,虽然这在技术上是绝对可行的,但有许多令人信服的理由说明以这种方式做事是一个坏主意。

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

  1. 自己托管他的网站。如果您的技术是可以建立专业托管公司的东西,那么这可能是有利可图的。
  2. 构建一个 API,可以授予对您的专有数据或处理的计量访问权限,并编写一个 WordPress 插件来与 API 对话。通过鼓励开发人员为您的系统编写软件,这可能是有利可图的,而 WordPress 插件将降低与您开展业务的门槛。
于 2012-09-03T22:09:01.997 回答
1

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

编辑:见下面我的评论。

于 2012-09-03T21:58:18.920 回答