用户 A 有一些PHP库文件。用户 B 需要访问该库。是否可以允许用户 B 能够包含PHP文件但无法查看源代码?
用户 A 库条目文件为lib.php
。
用户 B 在他的start.php中使用lib.php
,如下所示:
include path/to/lib.php;
但是,用户 B 将无法查看lib.php
或其他任何类文件的内容。
这可能吗?
答案 0 :(得分:1)
您正试图找到一种方法来做一些无法正常完成的事情。也许是一种hackish,绝对是肮脏的方式。
你真的应该考虑为你的应用程序编写一个包含所有逻辑的API。然后,您可以使用用户权限等处理其他所有内容,完全清洁和最先进的技术。
除了API开发人员之外,没有人可以查看代码,但每个人都可以根据用户权限使用它。
除了编写API之外,其他所有方法都可能难以处理,并且会导致更多问题。值得花时间。
答案 1 :(得分:1)
基本上你问的是不可能的。 PHP解释器需要能够读取文件才能包含它,如果PHP进程可以读取它,那么不受信任的用户可以编写一些代码来读取它并将其转储回来。
您有几个选择:
1)使用API。允许您保密代码,因为您只公开API。可能需要几天时间来实施(或者甚至可能不可能 - 不知道你在做什么就不可能说),所以可能不适合你的情况。
2)诋毁你的代码。那里有许多PHP代码阻塞器。它不会完全停止窥探,但它可能足以达到你的目的。
3)创建一个存根包含文件。如果您的库所包含的内容对于代码的运行并不是至关重要的,那么您可以为客户端编写一个简化的存根库来编写代码,然后在它们完成时将其替换为真实的。