欢迎来到酷客淘商城,为站长提供交易担保服务 访问移动版
站长交易首选担保平台!
酷客淘

监控php网站源码,自动还原被修改代码

日期: 2020-03-05 10:42:31 人气: -

使用开源cms系统:dedecms、帝国cms、phpcms等系统时,经常被人挂马,每次都没有及时发现,给网站造成权重上的影响。


于是想了一个简单的办法就是使用shell监控目录的文件变化,如果核心文件被修改就主动还原;如果新增文件就删除,并记录被删除的文件,用着日后分析。


有不完善的,请多指教,


#!/bin/bash

#网站目录

original="/media/psf/Home/Desktop/Git/dutuwang_net"

#备份目录

backdir="/media/psf/Home/Desktop/Git/dutuwang_net_backdir"

#非法文件

illegal="/media/psf/Home/Desktop/dutuwang_net_illegal"

#查找1分钟内修改的文件

files=`find ${original} -name '*.php' -mmin -1 -type f`


for filename in $files

do

    #排除缓存目录

    if [[ "${filename}" =~ "/data" ]]; then

        echo 'tmp'

    else

        old=${filename/${original}/${backdir}}

        #判断备份文件是否存在

        if [ -f ${old} ]; then

            cp -r ${filename/${original}/${backdir}} ${filename}

            echo "restore----${filename}--------restore-----"

        else

            newdir=`dirname "${illegal}${filename/${original}/}"`

            #判断新增目录是否存在

            if [ -d ${newdir} ]; then

                #复制新增文件到非法文件目录

                cp -r ${filename} "${illegal}${filename/${original}/}"

            else

                echo "mkdir--------${newdir}-----------"

                mkdir ${newdir}

                cp -r ${filename} "${illegal}${filename/${original}/}"

            fi

            echo "cp---------${filename}------${illegal}${filename/${original}/}----"

            rm ${filename}

            echo "del----${filename}--------del---------"

        fi

    fi

done



然后用crontab -e


*/1 * * * * /www/shell/restore.sh >> /www/shell/restore.log 2&1 &


每分钟去检查一次