我们有几个不同的客户端目录(每个都是自己的域),包含/要求服务器上不同位置的中央应用程序。基本上每个域都是集中式代码的扩展,但非常精简,因为所有主代码都不需要重复。
如果我们想让客户/经销商有权编辑他们自己的PHP代码,我们如何阻止他们阅读我们希望保护的中央代码呢?
基本上我们想阻止他们创建一些打开,读取,TAR或以某种方式输出源代码的代码,但我们仍然必须允许包含。
open_basedir()几乎就是这样;它会阻止打开代码,但这样做也会阻止包含。
代码加密解决方案(例如Zend Guard)是我们唯一的选择,还是有类似open_basedir()的方式允许包含?我还要关于禁用所有读取函数并编写自己的函数来检查源代码。
思想?
答案 0 :(得分:0)
答案是否定的,你不能给予“阅读”许可并阻止他们阅读...... 如果他们可以“包含”代码,他们也可以编写一个简单的PHP脚本来读取您的中央应用程序文件并将内容打印到屏幕上。例如。
答案 1 :(得分:0)
如果您允许全局阅读,我相信您不能限制阅读但是您可以使用%{REMOTE_HOST}或类似内容过滤.htaccess文件中您网站的访问权限。基本上,如果您能够通过IP或URL识别远程位置的客户端,我认为您可以根据访问该站点的人员限制读取特定目录。您能举例说明您的代码是否可以让经销商访问您的一方?
答案 2 :(得分:0)
我最终使用Smarty为客户提供有限的功能(模板化),同时保持PHP安全。