【发布时间】:2013-09-01 00:03:03
【问题描述】:
在我的网络应用中,我允许我的企业客户完全自定义他们的网页之一。但是这些网页仍然是我的网络应用程序的一部分,并且托管在我的服务器上。
我的客户应该能够完全使用 CSS、HTML 和 Javascript 设计他们的网页。而且我还想让他们访问特定的动态变量。我有 3 个不同的选项可以让他们访问这些变量:
- 使用 str_replace,这样我只需将其网页中的某些变量名替换为相应的动态值
- 使用某种模板引擎,例如 smarty,他们可以在自己的网页中使用
- 使用 PHP 本身,以便他们可以使用某些 php 变量
我实际上认为第三种选择是最好的,因为 PHP 作为模板引擎已经很好用了。但是如果我让他们上传任何类型的 php 文件,我的客户也可以调用函数并触发数据库查询,因为他们的代码有权限限制。
有没有办法使用 php 文件,而只是让这个 php 文件访问一定数量的预定义变量?尤其是没有权限进行数据库查询、读取全局变量、将内容保存到服务器或任何其他可能导致安全问题的操作。
【问题讨论】:
-
您可能希望使用模板引擎,因为您不能在运行时限制函数。事先限制它们会削弱您的应用程序。
-
也许试试看this,我并没有深入研究它,但它似乎是你要找的。span>
标签: php security web-applications