您好,欢迎来到菜鸟吧源码网(www.cniao8.com)本站只做精品网站源码!
  • 首 页
  • 菜鸟云
  • 公告:本站资源均来源于互联网及会员投稿发布,所有资源仅供学习参考研究使用,请勿商用或其它非法用途,商用请购买正版,否则产生一切后果由用户自行承担!谢谢!

     

    当前位置:主页 > 站长学堂 > dede教程 >
    织梦安全防护教程首页被快照挟持、被串改、被挂马、被入侵后解决办法
    时间:2020-07-30 16:42 作者:菜鸟吧 浏览:收藏 挑错 打印

    dedecms.com/products/dedecms/downloads/ [官网] 下载对应编码的最新织梦程序


    第三步:删除最新织梦程序包那些没用的又容易被挂马入侵的程序文件

    3-1、删除以下文件夹和文件

    member 会员文件夹整个删除

    special 专题文件夹整个删除

    install 安装文件夹整个删除

    robots.txt 文件删除

    3-2、删除 /templets/default 官方默认模板这个文件夹

    3-3、plus 文件夹除了以下 1个文件夹 和 5个php文件,其他的文件统统删除

    /plus/img (这个文件夹)

    /plus/count.php

    /plus/diy.php

    /plus/list.php

    /plus/search.php

    /plus/view.php

    3-4、把 dede 后台文件夹改名,改复杂一点,改成爹妈都不认识它。


    第四步:修复刚刚下载的织梦最新程序包里已知漏洞

    4-1、打开 /include/dialog/select_soft_post.php 找到

    $fullfilename = $cfg_basedir.$activepath.'/'.$filename;

    在它上面加入

    if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) {

    ShowMsg("你指定的文件名被系统禁止!",'javascript:;');

    exit();

    }


    4-2、打开 /dede/media_add.php 找到

    $fullfilename = $cfg_basedir.$filename;

    在它上面加入

    if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))){

    ShowMsg("你指定的文件名被系统禁止!",'java script:;');

    exit();

    }


    第五步:从第一步的整站备份文件夹里检查 模板 和 文档图片文件夹 是否有挂马和后门等可疑文件或代码

     这一步需要一点专业知识,如果你实在不懂,就到群里虚心请教,遇到可疑的地方截图请教别人,慢慢见的后门和木马代码多了,你就离成为大神不远了。

     5-1、每一个跟模板有关的js文件都要一一打开来细心检查,因为挂马很多在js文件中,不然你前面和后面的工作都白做了。

     5-2、每一个跟模板有关的css 和 images 文件夹下都要细心检查是否有后门文件,除了图片文件、css文件、字体文件,其他的一律删除,删错了也不用担心,有整站打包的备份在。

     5-3、每一个模板htm文件都要细心检查是否有挂马代码存在,检查你的模板文件夹里是否有后门文件,比如php文件,asp文件,其他可疑的格式文件一律删除,删错了也不用担心,有整站打包的备份在。

     5-4、你备份文件中的文档图片文件夹 uploads 文件夹,每一个文件夹都要打开,都要细心检查是否有后门文件,除了图片文件和你的附件,其他的一律删除,删错了也不用担心,有整站打包的备份在。

     5-5、/data/common.inc.php 和  /data/config.cache.inc.php 一会配合打包要用到,所以也要检查。

     5-6、/include/extend.func.php 可能有二次开发的自定义方法在里面,所以也要检查。

     5-7、其他你曾经二次开发修改过的文件。


    第六步:把第五步处理过的以下文件和文件夹复制到你第一步处理过的官方最新程序而且删除和修复漏洞的那个文件夹对应的位置里

    /data/common.inc.php

    /data/config.cache.inc.php

    /include/extend.func.php

    /templets/你的模板文件夹

    /uploads

    其他你曾经二次开发修改过的文件

    还有可能你的模板关联的css 和 js 和 images图片,这个自己看着办,复制进来后,打包本地整好的文件


    第七步:清空线上网站所有文件,上传本地整好的文件包

    7-1、把主机里现在网站里的所有文件清空,不需要到mysql清除数据哦。虚拟主机的小伙伴可以借助主机面板一键清空,省事又干净。

    7-2、把刚刚整理好的最新程序打包上传到主机里解压出来,不需要重新安装哦

    7-3、登录网站后台,打开 系统-系统设置-基本参数,点击确认一次,再去生成全站。


    第八步:利用伪静态功能禁止以下目录运行php脚本

    linux主机的用户一般都是apache环境,使用 .htaccess 文件来设置,如果你网站根目录已经存在这个文件,那就复制一下代码添加进去,没有这个文件的小伙伴可以下载下来放进去

    RewriteEngine on

    #安全设置 禁止以下目录运行指定php脚本

    RewriteCond % !^$

    RewriteRule a/(.*).(php)$ – [F]

    RewriteRule data/(.*).(php)$ – [F]

    RewriteRule templets/(.*).(php|htm)$ – [F]

    RewriteRule uploads/(.*).(php)$ – [F]


    windows主机的用户一般都是iis7、iis8环境,使用 web.config 文件来设置,请确认你的主机已经开启了伪静态而且网站根目录有 web.config 文件,有这个文件的可以复制以下代码添加到对应的rules内,没有这个文件的小伙伴可以下载下来放进去

    01<rule name="Block data"stopProcessing="true">
    02
    03<match url="^data/(.*).php$"/>
    04
    05<conditions logicalGrouping="MatchAny">
    06
    07<add input="{USER_AGENT}"pattern="data"/>
    08
    09<add input="{REMOTE_ADDR}"pattern=""/>
    10
    11</conditions>
    12
    13<action type="AbortRequest"/>
    14
    15</rule>
    16
    17<rule name="Block templets"stopProcessing="true">
    18
    19<match url="^templets/(.*).php$"/>
    20
    21<conditions logicalGrouping="MatchAny">
    22
    23<add input="{USER_AGENT}"pattern="templets"/>
    24
    25<add input="{REMOTE_ADDR}"pattern=""/>
    26
    27</conditions>
    28
    29<action type="AbortRequest"/>
    30
    31</rule>
    32
    33<rule name="Block SomeRobot"stopProcessing="true">
    34
    35<match url="^uploads/(.*).php$"/>
    36
    37<conditions logicalGrouping="MatchAny">
    38
    39<add input="{USER_AGENT}"pattern="SomeRobot"/>
    40
    41<add input="{REMOTE_ADDR}"pattern=""/>
    42
    43</conditions>
    44
    45<action type="AbortRequest"/>
    46
    47</rule>

    Nginx下禁止指定目录运行PHP脚本

    注意:这段配置文件一定要放在 location ~ .php(.*)$ 的前面才可以生效,配置完后记得重启Nginx生效。

    location ~* /(a|data|templets|uploads)/(.*).(php)$ {

    return 403;

    }


    宝塔面板的在配置文件里找到PHP引用配置

    第八步尤其重要,如何验证第八步是否生效呢

    用 Noptepad++ 或者 Sublime Text 或者 Dreamweaver 新建一个php文件,名为1.php,里面随便打几个数字即可

    上传到你网站的 uploads 文件夹里,然后在浏览器上打开 http://域名/uploads/1.php

    这样提示表示生效了

    如果是能正常显示你写的数字,那表示没生效,有风险,想办法让它生效吧。

    郑重声明:
    本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系站长索要。
    如有侵犯您的版权,请给我们来信:admin@cniao8.com,我们尽快处理。

    织梦中{dede:channel}无法调用隐藏栏目解决方法织梦中{dede:channel}无法调用隐藏栏目
    DEDECMS批量导入excel数据到后台文章系统的开发教程DEDECMS批量导入excel数据到后台文章系
    织梦58织梦模板加固版教程详解织梦58织梦模板加固版教程详解