这里先说明下环境:
帝国cms: v6.6
今天对帝国的一个列表刷新了下,但是突然发现生成的新页面爆出了php代码,这是咋回事
处理:因为仅仅从帝国界面上看不出来原因,所以对帝国代码进行了调试
e/admin/enews.php //刷新信息列表 e/class/functions.php //ListHtml生成信息列表 e/class/connect.php // ReplaceListVars 替换列表模版
$docode 参数代表模版是不是使用了程序代码
排查到这里发现,程序模版的实现很简单
if ($docode == 1) { $listtemp = stripSlashes($listtemp); eval($listtemp); }
同时想到帝国刚刚进行了迁移到了新机器,应该是eval函数不允许使用,一检测果然如此