月度归档: 2017 年 10 月

  • Discuz 计划任务每日不执行更新 解决方法 图文教程

    Discuz 计划任务每日不执行更新 解决方法 图文教程

    问题是 Discuz 论坛里的计划任务不执行了,没次都需要手动执行。一般问题表现在论坛首页今日昨日帖子不刷新。 如图:

    这种情况一般是 有些插件的计划任务不执行导致的。

    [title]解决办法1:[/title]
    到后台-工具-计划任务查看一下,一般插件的计划任务都是在第一个,官方内置的计划任务都是cron_开头的。如图:

    找到这个计划任务。如果可以删除的话,直接删除即可。

    如果删除不了的话。查看该插件是否未开启或者已删除,直接到数据库找到pre_common_cron这个表删除这个计划任务。如图:

    或者将后台计划任务中的可用性取消勾选。

    [title]解决办法2:[/title]

    以上办法都无法解决可以考虑重置这个表pre_common_cron,到数据库执行如下字段即可。

    DROP TABLE IF EXISTS pre_common_cron;
    CREATE TABLE `pre_common_cron` (
    `cronid` smallint(6) unsigned NOT NULL auto_increment,
    `available` tinyint(1) NOT NULL default '0',
    `type` enum('user','system','plugin') NOT NULL default 'user',
    `name` char(50) NOT NULL default '',
    `filename` char(50) NOT NULL default '',
    `lastrun` int(10) unsigned NOT NULL default '0',
    `nextrun` int(10) unsigned NOT NULL default '0',
    `weekday` tinyint(1) NOT NULL default '0',
    `day` tinyint(2) NOT NULL default '0',
    `hour` tinyint(2) NOT NULL default '0',
    `minute` char(36) NOT NULL default '',
    PRIMARY KEY (`cronid`),
    KEY `nextrun` (`available`,`nextrun`)
    ) ENGINE=MyISAM DEFAULT CHARSET=gbk AUTO_INCREMENT=22 ;
    
    INSERT INTO `pre_common_cron` (`cronid`, `available`, `type`, `name`, `filename`, `lastrun`, `nextrun`, `weekday`, `day`, `hour`, `minute`) VALUES?
    (1, 1, 'system', '清空今日发帖数', 'cron_todaypost_daily.php', 1416342963, 1416412800, -1, -1, 0, '0'),
    (2, 1, 'system', '清空本月在线时间', 'cron_onlinetime_monthly.php', 1414791807, 1417363200, -1, 1, 0, '0'),
    (3, 1, 'system', '每日数据清理', 'cron_cleanup_daily.php', 1416357390, 1416432600, -1, -1, 5, '30'),
    (5, 1, 'system', '每日公告清理', 'cron_announcement_daily.php', 1416346616, 1416412800, -1, -1, 0, '0'),
    (6, 1, 'system', '限时操作清理', 'cron_threadexpiry_hourly.php', 1416357391, 1416358800, -1, -1, -1, '0'),
    (7, 1, 'system', '论坛推广清理', 'cron_promotion_hourly.php', 1416347376, 1416412800, -1, -1, 0, '00'),
    (8, 1, 'system', '每月主题清理', 'cron_cleanup_monthly.php', 1414860761, 1417384800, -1, 1, 6, '00'),
    (9, 1, 'system', '道具自动补货', 'cron_magic_daily.php', 1416347946, 1416412800, -1, -1, 0, '0'),
    (10, 1, 'system', '每日验证问答更新', 'cron_secqaa_daily.php', 1416357391, 1416434400, -1, -1, 6, '0'),
    (11, 1, 'system', '每日标签更新', 'cron_tag_daily.php', 1416347946, 1416412800, -1, -1, 0, '0'),
    (12, 1, 'system', '每日勋章更新', 'cron_medal_daily.php', 1416347947, 1416412800, -1, -1, 0, '0'),
    (13, 1, 'system', '清理过期动态', 'cron_cleanfeed.php', 1416347948, 1416412800, -1, -1, 0, '0'),
    (14, 1, 'system', '每日获取安全补丁', 'cron_checkpatch_daily.php', 1416353617, 1416421320, -1, -1, 2, '22'),
    (15, 1, 'system', '定时发布主题', 'cron_publish_halfhourly.php', 1416357391, 1416358800, -1, -1, -1, '0 30'),
    (16, 1, 'system', '每周广播归档', 'cron_follow_daily.php', 1416350694, 1416420000, -1, -1, 2, '0'),
    (17, 1, 'system', '更新每日查看数', 'cron_todayviews_daily.php', 1416357389, 1416423600, -1, -1, 3, '0 5 10 15 20 25 30 35 40 45 50 55'),
    (18, 0, 'system', '每日用户表优化', 'cron_member_optimize_daily.php', 1377225651, 0, -1, -1, 2, '0 5 10 15 20 25 30 35 40 45 50 55'),
    (19, 0, 'user', '防水墙每日优化', 'cron_security_daily.php', 1416351485, 1416420000, -1, -1, 2, '0'),
    (20, 1, 'system', '统计今日热帖', 'cron_todayheats_daily.php', 1416348808, 1416412800, -1, -1, 0, '0'),
    (21, 0, 'user', '更新版块最后发表(防水墙相关)', 'cron_security_cleanup_lastpost.php', 0, 0, -1, -1, -1, '0');

    到此问题即可解决。

  • Windows 查看IIS访问日志 设置日志文件路径位置目录

    Windows 查看IIS访问日志 设置日志文件路径位置目录

    用户每打开一次网页,iis 都会记录用户IP、访问的网页地址、访问时间、访问状态等信息,这些信息保存在 iis日志文件里,方便网站管理员掌握网页被访问情况和 iis 服务器运行情况。如果网页被恶意访问(如注入数据库),日志中会有相应的记录,并且能看到注入者用什么代码注入,便于分析网站漏洞。

    iis日志保存在那里?Windows 系统有一个专门保存 iis 日志的文件夹,如果没有修改过,iis日志就保存在此文件夹中;如果修改过,包括修改操作系统和在 iis 中修改,则在修改后的路径。iis日志查看(寻找 iis日志位置)有两种方法,一种是直接到 Windows 默认保存 iis日志文件夹查看,另一种是到 iis 服务器中先查看iis日志路径,然后再根据路径打开保存日志文件夹。

     

      一、iis日志查看方法一:Windows默认文件夹

    由于不同的 Windows 版本,iis日志路径不一样,所以分别介绍如下:

    Windows Server 2003 iis日志路径:C:\Windows\System32\LogFiles

    Windows Server 2008 R2 iis日志路径:C:\inetpub\logs\LogFiles

     

    C盘为系统盘。由于每个网站,iis 都会自动生成一个保存日志的文件夹,所以具体 iis日志位置在 LogFilse 文件夹中的一个子文件夹里,例如:C:\Windows\System32\LogFiles\W3SVC2。

     

     

      二、iis日志查看方法二:iis 服务器查看

    1、选择“开始”菜单 → 管理工具 → Internet 信息服务(IIS)管理器,打开 iis 服务器窗口,依次展开选中要查看日志的网站,Windows Server 2008 R2 系统双击“日志”图标,如图1所示:

    iis日志路径

    图1

    Windows Server 2003 右键要查看日志的网站 → 属性 → “网站”选项卡 → 属性 → “常规”选项卡。

     

    2、在打开的“日志”设置窗口中,如图2所示:

    iis日志位置

    图2

    3、“目录”下边的 %SystemDrive%\inetpub\logs\LogFiles 就是日志保存目录,该路径具体就是C:\inetpub\logs\LogFiles;Windows 2003 就是 C:\Windows\System32\LogFiles。

    4、如果网站管理员设置过就会是一个具体路径,如 D:\logs。

    5、按该路径打开,就可以找到网站iis日志文件,双击它会用记事本打开。

  • 解码GL\x4f\x42A\x4c\x53类加密实例

    解码GL\x4f\x42A\x4c\x53类加密实例

    网上有很多PHP的加密文件,类似GL\x4f\x42A\x4c\x53格式的,下面我们给出解密的方法:

    这里要解密的文件命名为:aaa.php 。

    <?php
    //laoji.org 解码GL\x4f\x42A\x4c\x53类加密
    $fn='aaa.php';
    $t='0123456789abcdefABCDEF';
    $r=$p=$qt=$s='';
    $slash=false;
    $i=$j=0;
    if ($f=fopen($fn,"rb")){
        $s=fread($f,filesize($fn));
        fclose($f);
        for ($i=0;$i<strlen($s);$i++){
            $slash=false;
            $p=sprintf("&nbsp;%06d,%06d",$i,$j);
            if ($s[$i]=='\\'&&$s[$i + 1]=='x'
                &&strpos($t,$s[$i+2])!==false&&strpos($t,$s[$i+3])!==false){
                $qt=strtolower(substr($s,$i,4));
                $slash=(($qt=='\\x22'||$qt=='\\x5c')&&$s[$i-1]!='\\') //引号\x22 斜杠\x5c,前面不是斜杠,需补充斜杠
                     ||(($qt=='\\x22'||$qt=='\\x5c')&&substr($s,$i-2,2)=='\\\\');//前面是2+个斜杠,需要补充斜杠
                if ($slash) {
                    $p=sprintf("<font color=red>%s",$p);
                    $j++;
                }
                //echo 'H:'.$qt.'=>&nbsp;'.chr(hexdec($s[$i+2].$s[$i+3])).$p.'<br />';
                $qt=($slash)?'\\':'';
                $r.=$qt.chr(hexdec($s[$i+2].$s[$i+3]));
                $i=$i+3;
            }else{
                //echo 'C:=====>&nbsp;'.$s[$i].$p.'<br />';
                $r.=$s[$i];
            }
            $j++;
        }
    	$i=0;
    	$ra=array();
        preg_match_all('/(?P<item>\$\{"[a-zA-Z_0-9]+"\}\s*\[\"[a-zA-Z_0-9]+\"\])\s*=\s*"(?P<value>[a-zA-Z_0-9]+)";/i',$r,$ra);
    	
        foreach ($ra['item'] as $i=>$a){  //$a = ${"GLOBALS"}["mqhformwegp"]
            $b=$a.'="'.$ra['value'][$i].'";';
            if (strpos($r,$b)!==false) {
    			//print_r($b);exit;
                $r=str_replace($b,'',$r);
                $r=str_replace('{'.$a.'}',$ra['value'][$i],$r);
    			
            }
        }
        preg_match_all('/(?P<item>\$[a-zA-Z_0-9]+)\s*=\s*"(?P<value>[a-zA-Z_0-9]+)";/i',$r,$ra);
        foreach ($ra['item'] as $i=>$a){
            $b=$a.' = "'.$ra['value'][$i].'";';
            $a1='${'.$a.'}';
            if (strpos($r,$b)!==false&&strpos($r,$a1)!==false) {
                $r=str_replace($b,'',$r);
                $r=str_replace('{'.$a.'}',$ra['value'][$i],$r);
            }
        }
        preg_match_all('/(?P<item>\$\{(?P<value>\$[a-z]+)\})/i',$r,$ra);
        foreach ($ra['item'] as $i=>$a){  //$a = ${$mqhformwegp}		
                //$b=$a.'="'.$ra['value'][$i].'";';
                $b='/\\'.$ra['value'][$i].'=\"([a-zA-Z_0-9]+)\";/';
                //print_r($b);
                //if(preg_match($b, $r, $c)){
                if( preg_match($b,$r, $c) ){
                        $r=str_replace($c[0],'',$r);
                        $r=str_replace($a,'$'.$c[1],$r);
                }
        }
    
        $r= str_replace("{","{\r\n\t",$r);
        $r= str_replace("}","}\r\n\t",$r);
        $r= str_replace(";",";\r\n\t",$r);
        
        $fn='aaa1.php';
        $f=fopen($fn,"wb");
        fwrite($f,$r);
        fclose($f);
        echo 'done...';
        exit;
    }

    解密完成后会新建一个文件aaa1.php。 这里就是解密好的文件了。

WeChat