用于php的现代模板引擎(比如dwoo或smarty)可以使用对象作为变量。你可以使用{$ obj-> method()},这非常方便,我使用了很多。 但是,直接从ORM导出对象时存在明显的安全问题,这些问题有插入,删除等方法。 是否有任何一种仅将部分方法暴露给模板引擎的方法?我想包装只公开白名单的方法:如何以安全的方式在模板中使用对象
$aTplVars = array (new TplWrapper(new User($nUserId), array('getAccount','getStatus')));
你在想什么(有明确的性能开销)?或者也许在某些现有的PHP模板引擎中有类似的东西?
@ts这没有任何意义。如果攻击者执行远程代码,那么你已经丢失了。它的支票队友,没有什么可以做的。整个安全点首先是阻止这种情况发生。确保你需要确定谁是威胁。由于这些原因,我建议从这篇文章中删除[security]标签。 – rook 2010-09-19 00:12:29