阻止模板静态访问业务类

时间:2011-02-02 09:13:57

标签: php security oop class methods

我有一个框架(各种各样),它有Presentation logic&业务逻辑。

我的问题是业务逻辑静态调用方法,因此,不需要该类的实例。其中一个类称为Config,它包含(某些)危险信息(如DB连接信息)。那么如何阻止表示逻辑执行此操作:

var_dump(Config::get('database'));

1 个答案:

答案 0 :(得分:1)

如果你的模板能够执行任意的PHP代码,你就不能。

除非您有模板完全“沙盒化”的模板引擎,否则您不能允许不受信任的用户编辑模板。

但是,对于数据库连接信息,您可以在使用它们之后简单地取消设置这些变量。不会阻止某人在他的模板中编写PHP代码,但是再次读取配置文件......