第一步:备份
1-1、后台-系统-数据库备份/还原,数据备份。
1-2、打包整站下载到你电脑上来,防止被Y e Z r改坏了{ 7 ~ @无法还原回来。打包可以利用主机面板的# 0 U c I打包功能,快速又方便。
第二步:最新织梦
http://www.dedecms.com/products/dedecms/downloads/ [官网] 下载对应编码m R L f E / b F的最新织梦程序包
第三步:删除最新织梦程序包那些没用的又容易被挂马入侵的程d T y L J i i ^ 4序文件
3-1、删除以下文件夹和文件
member 会员文件夹整个删除
spi / l ( 3 q %ecial 专题文件夹整个删除
install 安装文件夹整个删除
robots_ x * 5 ` 6 G.txt 文件删除
3-2、删除 /templets/default 官方默认模L y ? R `板这个文件夹
3-R _ ]3、plus 文件夹除了以下 1个文件夹 和 5个php文件,其他的文件统统删除
/plus/img (这个文件夹)
/plus/count.B G { G p y sphp
/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.’/’.$fiU 4 u : + * { ilename;
在它上面加入
if (preg_match(‘#.(php|pl|cgi|asp|aspx|jsp|php5|Z l \ Z ` & o – 0phpL T X h4|php3|shtm|shV _ P T = Gtml)[^a-zA-Z0-9]+$#i’, trim($filenameC 4 B))) {
ShowMsg(“你指定的文件名被系Q _ + K h D I统禁止!”,’javascript:;’);
exit();
}
4-2、打开 /dede/media_add.pc a khp 找到
$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:;’, G Y N);
exit();
}
第五步:从第一步的整站备份文件夹里检查 模板 和 文档图片文件夹 是否有挂马和后门等可疑文件或代码
这M A e O ) *一步需要一点专业知识,如果你实在不懂,就到群里虚心请教,遇到可疑的地方截图请教别人,P V M W ) X g 4 *慢慢见的后门和木马代码多了,你就离成为大神不远了。
5-1、每一个跟模板有关的js文件都要一一打开来细心检查,因为挂马很多在js文件中,不然你前面和后面的工作都白做了。F 5 a = H K
5-2、每一个跟模板有关的css 和 images 文件夹下都要细心检查是否有后门文件,除了图片文件、css文件、字体文件,其他的一律删除,删错了也不用担心,有整站打包的备份在。
5-3、每一个模板htm文件都要细心检查是否有挂马代码存在,检查你的模板文件夹里是否有后门文件,比如ph$ ) } I vp文件,asp文件,其他可疑的格式文件一律删除,删错了也不用O s { q F l担心,有整站打包的1 / U备份在。
5-4、你备份文件中的文档图片文件夹 uploads 文件夹,每一个文件夹都要打开,都要细心检查是否有0 v ; E ^ ^ l后门文件,除了图片文件和你的附件,其他的一律删除,删错了也不用担心,有整站打包的备份在。
5-5、/data/common.inc.php 和! X N T _ ^ Z m % /data/config.cache.inc.php 一会配合打包要用到,所以也要检查。
5-6、{ A ] )/include/extendm V , ) = a p a :.func.php 可a w @ X U ^能有二次开发的自定义R S P % n ] g 6 M方法在里面,所以也要检查。
5-7、其他你曾经二次开发修改过的文件。
第六步:把第五步处理过y s I = h b b e的以下文件和文件夹F 5 0 , 9 r v复制到你第一步处理过的官方最新程序而且删除和修复漏= E L洞的那个文件夹对应的位置里
/data/common.inc.php
/data/config.cache.inc.R $ R Vphp
/include/extend.func.php
/templets/你的模板文件夹
/uploads
其他你曾经二次开发修改过的文件
还有! M 1 \ w | k 4 S可能你的模板关联的css 和 js 和 images图片,这个自己看着办,复制进来后J ? X 3,打包本地整好的文件
第七步:清空线上网站所有文件,上传本地整好的文件包
7-1、把主机里现在网站里的所有文件清空,不需要到mysql清除数据哦。虚拟主机的小伙伴可以借助主机面k b [ p板一键清空,省事又干净。
7-2、把刚刚整理好的最新程序打包上传到主机里解压出来,不需要重新安装哦
7-3、^ 8 H y t登录网站后台,打开 系统-系统设置-基本参数,点击确认一次,再去生成全站。
第八步:利用伪静态功能禁止以下目录运行php脚本
linux主机的用户一般都是apache环境,使用 .htaccess 文件来设置,如果你N M .网站根目录已经存在这个文件,那就复制一下代码添加进去,没有这m q n {个文件的小伙伴可以下载下来放进去
RewriteEngine on
#安全设置 禁止以下目录运行指定php脚本
RewriteCond % !^$
RewriteRule a/([ q 2 u W f.*).(php)$ – [F]
Reh W Q { c ? & UwriteRule data/(.*B R A . m 8 l).(php)$ – [F]
RewriteRule templets/(.*).( 0 m(php|htm)$ –} m \ U Q \ } [F]
RewriteRule uploads/(.*).(php)$ – [F]
windows主机的用户一般都是iis7@ ` ;、iis8环境,使用 web.co* s U } 7 6 Xnfig 文件来设置,请确认你的主机已经开启了伪静态而且网站根目录有 web.config 文件,有这个文件的可以复制以下代码添加到对应的rS f / g d % Oules内,没有这个文件的小伙伴可以下载下来放进去
<rule name=”Block data” stopProcessing=”true”>
<match url=”^data/(.*).php$” />
<conditions logicalGrouping=”MatchAny”>
<add iG 5 ; ! l Jnput=”{USER_AGENT}” pattern=”data” />
&] % / w 6 k W qlt;add input=”{REMOTE_ADDR}” pattern=”” />
<7 / ! A;/conditions>
<action type=”AbortRequest” />
</rule>
<rule name=”Bd j x n Ulock templets” stopPj x M i Frocessing=”true”>
<match urlO o Z ` c 4 /=”^templets/l X \ _ i ) v V(.*)o X B Q + ?.php$” />
<conditions logicalGrouping=”MatchAny”>
<add input=”{USER_I ~ 7 X – } rAGENT}” pat\ ( q @ w 9 T X 8tern=”templets” />
<add input=”{REMOTE_ADDR}” pattern=”” /&g– t W 8 ( c ) tt;
</conditionS U l * 3 b [s>
<action type=”AbortRequest” />
</rule>
<rule name=”BS d 1 [ x 5 Block SomeRobot” stopProcessing=”true”>
<match url=”^uploads/(.*).php$” />
<co~ O p + x Ond3 b f 9 w |ih I 3 8tions logicalGrouping=”MatchAny”>
<add inpY } r p \ ! 6 |ut=”{USER_AGENT}” pattC } ] J , 3 q [ern=”SomeRobot” />
<add input=”{REMOTE_ADDR}” pattern=”X ` B t” />
</conditions>
<actiox K @ + in type=”AbortRequest” />
</rule>
Nginx下禁止指定目录运行P` ~ c } zHP脚本
注意:这段配置文件一定要放在 location ~ .php(.k g p ? ~ u A*)$ 的前面才可以生效o | – c N &,配置完后记得重启Nginx生效。
location ~* /(a|data|templets|uploads)/(.*).(php)$ {
return 403;
}
宝塔面板的在配置文件里找到PHP引用配置
第八步尤其重要,如何验证第八步是否生效呢
用 Noptepad++ 或者 Sublime Text 或者 Dreamweaver 新建一个php文件,名为1.php,里面随便打几个数字即可
上传到你网站的 uploads 文件夹里,然后在浏览器上打开 http://域名/uploads/1.php
这样提示表示生效了
如果是能正常显示你写的数字,那表示没生效,有u o j m U m风险,想办法让它生效吧。
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性
源码巴巴网 » 织梦首页被快照挟持、被串改、被挂马、被入侵后解决办法
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 你们有qq群吗怎么加入?