我使用模板解析器类来渲染我的视图。因为视图对于某些用户是可编辑的,所以我需要在视图中禁用php解释器。
有什么方法可以做到?
问候!
修改
AddType text/plain .php
现在php无法在视图中使用。
答案 0 :(得分:0)
(假设你正在使用Apache)
您可以使用 .tpl 扩展名保存文件,并添加类似...
的内容AddType text/plain .tpl
...到您的Apache httpd.conf文件(或者可能是.htaccess)。
不会当然会阻止人们在模板中添加PHP代码,如果他们觉得这样,但它应该意味着如果在网络上查看文件将不会解释该代码-服务器;但是,这些文件中输入的任何原始PHP代码都以纯文本形式提供给任何找到URI的人(www.yoursite.ext / templates / a_template.tpl) - 如果由于某些不明原因它有类似的东西可能会非常糟糕define('DB_PASSWORD', "DBP@55w0rd");
在那里(好的,这是非常错的,但你明白了。)
更好的解决方案是将 tpl 文件存储在网络树之外,或者存储在受.htaccess Deny from all
保护的文件夹中 - 您的PHP脚本仍然可以在中提取它们但是它们不会被任何人通过http直接访问,因此你的视图中的任何PHP都不会被解释为永远不会被访问。
或者,如果您对视图引擎很灵活,请查看PHPTAL:http://phptal.org/
答案 1 :(得分:0)
我不明白你的问题。
您的解析器是否识别模板中的PHP?如果是这样 - 禁用将如何帮助?如果不是 - PHP对你的模板做了什么?他们有.php扩展吗?