让Linux用户能够包含PHP代码,但不能查看它


Make a Linux user able to include PHP code but not able to view it?

用户A有一些PHP库文件。用户B需要访问库。是否可以允许用户B包含PHP文件,但不能查看源代码?

用户库条目文件是lib.php

用户B在其start.php中使用lib.php,如下所示:

include path/to/lib.php;

但是,用户B将无法查看lib.php或其任何其他类文件的内容。

这可能吗?

您正试图找到一种方法来做一些无法正确完成的事情。也许是以一种粗鲁,绝对肮脏的方式。

您真的应该考虑为应用程序编写一个包含所有逻辑的API。然后你可以在用户许可的情况下处理其他一切,等等,完全干净,最先进

除了API开发人员之外,没有人可以查看代码,但每个人都可以根据自己的用户权限使用它。

所有其他方法都很难处理,并且会导致比编写API更多的问题。花时间是值得的。

基本上你所要求的是不可能的。PHP解释器需要能够读取文件才能将其包含在内,如果PHP进程能够读取文件,那么不受信任的用户就可以编写一些代码,读取文件并将其转储出去。

你有几个选择:

1) 使用API。将允许您对代码保密,因为您只会公开API。不过,可能需要几天的时间才能实施(或者甚至不可能——在不知道自己在做什么的情况下不可能说出来),所以可能不适合你的情况。

2) 使代码模糊不清。有很多PHP代码obsfunctor。它不会完全停止窥探,但它可能足以满足你的目的。

3) 创建一个存根包含文件。如果你的库所包含的内容对代码的运行并不完全关键,你可以为你的客户端创建一个精简的存根库来进行代码编写,然后在他们完成后用真正的库替换它。

相关文章: