DedeCMS首页定时自动更新的实现方法

前不久,网站被黑,挂上赌博页面,被腾讯标记为高位风险网页,只要从QQ、微信分享来的网址都会有大大的提醒。在我排除了挂马页面后,被告知一个月后才解封,真是惆怅啊!今天又猛地发现网站流量猛降,一查就发现博客被搜狗降权,这都是挂马后遗症,头疼。在把博客的细节地方调正后,我突然有个想法,为什么不做个首页自动更新的设置呢?虽然很初级,但是也能防止一部分的挂马注入,算是在博客的安全上设置了第一个路障吧!

说干就干,在查询了相关资料后,终于实现了织梦首页定时自动更新的方法,今天就教给大家如何实现。

首先,创建一个新的名为task_index.php的PHP文件,代码如下:

<?php

$lasttime=filemtime($_SERVER[
‘DOCUMENT_ROOT’].
“/index.html”);

$interval=
3600;
//更新时间秒为单位1800秒=30分钟

$bdnum=
1;
//上面设置的时间自动审查生成HTML条数


if((time()-$lasttime)>$interval)

{

  require_once (dirname(__FILE__) .
“/include/common.inc.php”);

  require_once DEDEINC.
“/arc.partview.class.php”;

  $GLOBALS[
‘_arclistEnv’] =
‘index’;

  $row = $dsql->GetOne(
“Select * From `dede_homepageset`”);

  $row[
‘templet’] = MfTemplet($row[
‘templet’]);

  $pv =
new PartView();

  $pv->SetTemplet($cfg_basedir . $cfg_templets_dir .
“/” . $row[
‘templet’]);

  $pv->SaveToHtml(dirname(__FILE__).
‘/index.html’);

  exit();

}

?>

 

将这个PHP文件上传到我们网站的根目录,然后在自己的网站博客的首页模版(一般为index.htm)的head部分加入以下代码:

<!–定时更新–>

<script
language=
“javascript”
src=
“/task_index.php”></script>

 

上传完成后,更新首页,这样就实现了定时自动更新首页。如果你的网站首页文章列表里没有随机调用的文章,加上自动更新功能是看不出来有效果的,唯有到网站根目录里才可以看到index.html的生成时间来判断更新的时间,余斗建议可以在某些位置加上一段随机文章列表推荐代码:

{dede:arclist row=
“9” sort=
“rand” typeid=
“1” titlelen=
“40”}

<li><a
href=
“[field:arcurl/]”
title=
“[field:fulltitle/]”>[field:
title /]</a></li>

{/dede:arclist}

 

这样就可以在自己设置的更新时间后查看下效果。