更新時間:2019-07-15 編輯:未知 關注人次:0
織(zhi)夢(meng)安全防護教程(cheng)首頁被(bei)挾(xie)持、被(bei)串改、被(bei)掛馬、被(bei)入侵后解決辦法:
第一步:備份
1-1、后臺-系統-數據庫備份/還(huan)原,數據備份。
1-2、打包整站下載到你電腦上來,防止被改壞了無(wu)法還原回(hui)來。打包可(ke)以(yi)利用(yong)主機面板的打包功(gong)能,快速又方便(bian)。
第二(er)步(bu):最新織夢
//www.dedecms.com/products/dedecms/downloads/ [官網] 下載對應(ying)編碼的最新織(zhi)夢程序(xu)包(bao)
第三(san)步:刪除最新織夢程(cheng)序包(bao)那些(xie)沒用(yong)的又容易被掛馬入侵的程(cheng)序文件
3-1、刪除以(yi)下文件夾和文件
member 會(hui)員文件夾(jia)整個刪除
special 專(zhuan)題文(wen)件夾整個刪除
install 安裝文件夾(jia)整個刪除(chu)
robots.txt 文件刪除
3-2、刪除 /templets/default 官方默認模板(ban)這個文件夾
3-3、plus 文(wen)件(jian)夾(jia)除了(le)以(yi)下 1個(ge)文(wen)件(jian)夾(jia) 和 5個(ge)php文(wen)件(jian),其他的(de)文(wen)件(jian)統(tong)統(tong)刪除
/plus/img (這(zhe)個文件夾)
/plus/count.php
/plus/diy.php
/plus/list.php
/plus/search.php
/plus/view.php
3-4、把 dede 后臺文(wen)件夾改(gai)(gai)名,改(gai)(gai)復雜一點,改(gai)(gai)成爹(die)媽(ma)都不認識它。
第四(si)步:修復剛(gang)剛(gang)下載的(de)織(zhi)夢最新(xin)程序包里已知(zhi)漏洞
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("你指(zhi)定的文(wen)件名被系(xi)統禁(jin)止(zhi)!",'javascript:;');
exit();
}
4-2、打開 /dede/media_add.php 找(zhao)到
$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("你指(zhi)定的文件名被系統(tong)禁止!",'java script:;');
exit();
}
第五步:從第一步的整站備(bei)份文(wen)件夾里(li)檢查 模板 和(he) 文(wen)檔圖片(pian)文(wen)件夾 是否有(you)掛馬和(he)后(hou)門等可(ke)疑文(wen)件或代碼
這一步需(xu)要一點專(zhuan)業知識,如果(guo)你實在不(bu)懂,就到(dao)群里虛心請(qing)教,遇到(dao)可疑的(de)地方截圖請(qing)教別人,慢慢見的(de)后(hou)門和木馬(ma)代碼多了(le),你就離成為大神不(bu)遠(yuan)了(le)。
5-1、每一個跟(gen)模板有關的js文件都要一一打開來細心檢查,因為掛馬(ma)很多(duo)在js文件中,不(bu)然你前面和后面的工作都白(bai)做了。
5-2、每一(yi)個跟模板有(you)關的css 和(he) images 文(wen)(wen)件(jian)(jian)夾下都要細心(xin)檢查是否(fou)有(you)后門文(wen)(wen)件(jian)(jian),除了(le)圖(tu)片文(wen)(wen)件(jian)(jian)、css文(wen)(wen)件(jian)(jian)、字體文(wen)(wen)件(jian)(jian),其他(ta)的一(yi)律刪除,刪錯了(le)也(ye)不(bu)用擔心(xin),有(you)整站打(da)包的備份(fen)在(zai)。
5-3、每一個模板(ban)htm文(wen)(wen)(wen)件(jian)都要細(xi)心檢查(cha)是(shi)否有(you)掛馬代碼(ma)存在,檢查(cha)你的模板(ban)文(wen)(wen)(wen)件(jian)夾里是(shi)否有(you)后門文(wen)(wen)(wen)件(jian),比如php文(wen)(wen)(wen)件(jian),asp文(wen)(wen)(wen)件(jian),其(qi)他可(ke)疑的格式文(wen)(wen)(wen)件(jian)一律刪除,刪錯了也不用(yong)擔心,有(you)整站打包的備份在。
5-4、你(ni)備份(fen)文(wen)件(jian)中的(de)文(wen)檔圖片文(wen)件(jian)夾(jia) uploads 文(wen)件(jian)夾(jia),每一個文(wen)件(jian)夾(jia)都要打開,都要細(xi)心檢查(cha)是否有(you)后(hou)門(men)文(wen)件(jian),除了圖片文(wen)件(jian)和(he)你(ni)的(de)附件(jian),其他的(de)一律(lv)刪除,刪錯了也不用擔心,有(you)整站打包(bao)的(de)備份(fen)在。
5-5、/data/common.inc.php 和(he) /data/config.cache.inc.php 一(yi)會(hui)配(pei)合打包要用(yong)到,所(suo)以也(ye)要檢(jian)查(cha)。
5-6、/include/extend.func.php 可能有二次開發的自(zi)定義方法(fa)在里面,所以也(ye)要檢查。
5-7、其他你曾經二次開發(fa)修改過的文件。
第六步(bu)(bu):把第五步(bu)(bu)處(chu)理(li)過(guo)的(de)以下文(wen)件(jian)和(he)文(wen)件(jian)夾(jia)復(fu)制(zhi)到你(ni)第一步(bu)(bu)處(chu)理(li)過(guo)的(de)官(guan)方(fang)最新(xin)程序而(er)且刪除(chu)和(he)修(xiu)復(fu)漏(lou)洞的(de)那個文(wen)件(jian)夾(jia)對應的(de)位置(zhi)里
/data/common.inc.php
/data/config.cache.inc.php
/include/extend.func.php
/templets/你的(de)模板文件夾
/uploads
其(qi)他你曾經二次開發修改過的(de)文件
還有可能你的(de)模(mo)板關(guan)聯的(de)css 和(he) js 和(he) images圖片,這(zhe)個自(zi)己看著辦(ban),復制進來后,打包本地整好(hao)的(de)文件
第七(qi)步:清空線上網(wang)站所有文(wen)(wen)件,上傳(chuan)本地整好的(de)文(wen)(wen)件包
7-1、把主(zhu)機(ji)里現在網站里的所有文件清(qing)空(kong),不需要(yao)到mysql清(qing)除數據哦。虛擬(ni)主(zhu)機(ji)的小伙伴可以借助主(zhu)機(ji)面板一鍵清(qing)空(kong),省(sheng)事(shi)又(you)干凈。
7-2、把剛剛整理好的最(zui)新程序打包上傳到主機里解(jie)壓出來,不(bu)需要重新安裝哦
7-3、登錄網站后臺,打開 系(xi)統-系(xi)統設置-基本參(can)數,點擊(ji)確(que)認(ren)一(yi)次,再去生成全站。
第八(ba)步:利用偽靜態功能禁(jin)止以(yi)下目錄運(yun)行php腳(jiao)本(ben)
linux主機的用戶一般都是apache環境,使用 .htaccess 文(wen)件來(lai)設(she)置,如(ru)果(guo)你網站根(gen)目錄已經(jing)存在這個文(wen)件,那就復制一下代碼添加進(jin)去(qu),沒有這個文(wen)件的小伙伴可以下載下來(lai)放進(jin)去(qu)
RewriteEngine on
#安全設置 禁止以(yi)下目錄運(yun)行指(zhi)定php腳本(ben)
RewriteCond % !^$
RewriteRule a/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php|htm)$ – [F]
RewriteRule uploads/(.*).(php)$ – [F]
windows主機的(de)用(yong)戶一般(ban)都是iis7、iis8環境,使用(yong) web.config 文件來(lai)設(she)置,請確認你的(de)主機已經開啟了(le)偽靜態而(er)且(qie)網站根目錄有(you) web.config 文件,有(you)這個(ge)文件的(de)可(ke)以(yi)復制以(yi)下代(dai)碼(ma)添加到對應的(de)rules內,沒有(you)這個(ge)文件的(de)小伙(huo)伴可(ke)以(yi)下載下來(lai)放進去
|
Nginx下禁(jin)止指定目錄運行PHP腳本
注意:這段配置文(wen)件一定要放(fang)在 location ~ .php(.*)$ 的前面(mian)才(cai)可(ke)以生效,配置完后記得重啟Nginx生效。
location ~* /(a|data|templets|uploads)/(.*).(php)$ {
return 403;
}
寶塔面板的在配(pei)置(zhi)文件里找到PHP引(yin)用配(pei)置(zhi)
第八步(bu)尤其重(zhong)要,如何驗(yan)證第八步(bu)是否生效(xiao)呢
用(yong) Noptepad++ 或者 Sublime Text 或者 Dreamweaver 新建一個(ge)php文件(jian),名(ming)為1.php,里面隨便打幾個(ge)數字即可
上傳到你網站的(de) uploads 文件夾里,然后在(zai)瀏覽器上打開 //域名/uploads/1.php
這(zhe)樣提示表示生(sheng)效(xiao)了
如果是能正常(chang)顯示你寫(xie)的數字,那表示沒生效(xiao),有(you)風險(xian),想辦法讓它生效(xiao)吧。