帝国cms小程序开发 帝国cms因大意导致360检测出“[高危]SQL注入漏洞(盲注)

帝国CMS教程

使用一个时间转换函数,在时间输出到页面的时候转换一下即可。

function TimeTurner($time) {

$minute = date("H:i",$time);
$hour = date("H:i",$time);
$alltime = date("y-m-d H:i",$time);
$time = time() - $time;

if ($time < 60) {
$str = ' 刚刚';
}
elseif ($time < 60 * 60) {
$min = floor($time/60);
$str = $min.' 分钟前';
}
elseif ($time < 60 * 60 * 24) {
$h = floor($time/(60*60));
$str = $h.' 小时前 '.$hour;
}
elseif ($time < 60 * 60 * 24 * 3) {
$d = floor($time/(60*60*24));
if($d=1)
$str = ' 昨天 '.$minute;
else
$str = $alltime;帝国cms小程序开发 帝国cms因大意导致360检测出“[高危]SQL注入漏洞(盲注) 第1张
}
else {
$str = $alltime;
}
return $str;
}

把这个函数 放到e/class/connect.php中,然后把时间输出改造一下。

原版是:$saytime=date('Y-m-d H:i:s',$r['saytime']);

$saytime为最终输出到页面的时间,$r['saytime']是从数据库读取的时间。

替换成我们想要的效果 $saytime=TimeTurner($r['saytime']);

1、如果用了官方分页插件的话只需在 e/extend/infocomment/template/index.temp.php中找到$saytime=date('Y-m-d H:i:s',$r['saytime']);替换即可。

2、默认的评论显示方式则修改 e/pl/more/index.php ,找到$saytime=date('Y-m-d H:i:s',$r['saytime']);替换即可。

这个只是应用在评论显示的一种,还可以用到其他显示时间的地方,这里就不一一描述了。