dedecms普通企業網站如何防黑與恢復

2018-09-13 12:49:08 濟南網站建設
STEP1:刪除最新dedecms程序包那些沒用的又容易被掛馬入侵的程序文件
 
1-1、刪除以下文件夾和文件
 
member 會員文件夾整個刪除
 
special 專題文件夾整個刪除
 
install 安裝文件夾整個刪除
 
robots.txt 文件刪除
 
1-2、刪除 /templets/default 官方默認模板這個文件夾
 
1-3、plus 文件夾除了以下 1個文件夾 和 5個php文件,其他的文件統統刪除
 
/plus/img (這個文件夾)
 
/plus/count.php
 
/plus/diy.php
 
/plus/list.php
 
/plus/search.php
 
/plus/view.php
 
1-4、把 dede 后臺文件夾改名,改復雜一點,或偽裝成無礙的文件夾名。
 
 
 
STEP2:修復剛剛下載的dedecms最新程序包里已知漏洞
 
2-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();
 
}
 
 
 
2-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();
 
}
 
 
 
STEP3:從整站備份文件夾里檢查 模板 和 文檔圖片文件夾 是否有掛馬和后門等可疑文件或代碼
 
  這一步需要一點專業知識,如果你實在不懂,就到百度搜索,遇到可疑的地方截圖請教別人,慢慢見的后門和木馬代碼多了,你就離成為大神不遠了。
 
  3-1、每一個跟模板有關的js文件都要一一打開來細心檢查,因為掛馬很多在js文件中,不然你前面和后面的工作都白做了。
 
  3-2、每一個跟模板有關的css 和 images 文件夾下都要細心檢查是否有后門文件,除了圖片文件、css文件、字體文件,其他的一律刪除,刪錯了也不用擔心,有整站打包的備份在。
 
  3-3、每一個模板htm文件都要細心檢查是否有掛馬代碼存在,檢查你的模板文件夾里是否有后門文件,比如php文件,asp文件,其他可疑的格式文件一律刪除,刪錯了也不用擔心,有整站打包的備份在。
 
  3-4、你備份文件中的文檔圖片文件夾 uploads 文件夾,每一個文件夾都要打開,都要細心檢查是否有后門文件,除了圖片文件和你的附件,其他的一律刪除,刪錯了也不用擔心,有整站打包的備份在。
 
  3-5、/data/common.inc.php 和  /data/config.cache.inc.php 一會配合打包要用到,所以也要檢查。
 
  3-6、/include/extend.func.php 可能有二次開發的自定義方法在里面,所以也要檢查。
 
  3-7、其他你曾經二次開發修改過的文件。
 
 
 
STEP4:把處理過的以下文件和文件夾復制到處理過的官方最新程序對應的位置里
 
/data/common.inc.php
 
/data/config.cache.inc.php
 
/include/extend.func.php
 
/templets/你的模板文件夾
 
/uploads
 
其他你曾經二次開發修改過的文件
 
還有可能你的模板關聯的css 和 js 和 images圖片,這個自己看著辦,復制進來后,打包本地整好的文件
 
 
 
STEP5:清空線上網站所有文件,上傳本地整好的文件包
 
5-1、把主機里現在網站里的所有文件清空,不需要到mysql清除數據哦。虛擬主機的小伙伴可以借助主機面板一鍵清空,省事又干凈。
 
5-2、把剛剛整理好的最新程序打包上傳到主機里解壓出來,不需要重新安裝哦
 
5-3、登錄網站后臺,打開 系統-系統設置-基本參數,點擊確認一次,再去生成全站。
 
 
 
STEP6:利用偽靜態功能禁止以下目錄運行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內,沒有這個文件的小伙伴可以下載下來放進去
 
<rule name="Block data" stopProcessing="true">
 
<match url="^data/(.*).php$" />
 
<conditions logicalGrouping="MatchAny">
 
<add input="{USER_AGENT}" pattern="data" />
 
<add input="{REMOTE_ADDR}" pattern="" />
 
</conditions>
 
<action type="AbortRequest" />
 
</rule>
 
<rule name="Block templets" stopProcessing="true">
 
<match url="^templets/(.*).php$" />
 
<conditions logicalGrouping="MatchAny">
 
<add input="{USER_AGENT}" pattern="templets" />
 
<add input="{REMOTE_ADDR}" pattern="" />
 
</conditions>
 
<action type="AbortRequest" />
 
</rule>
 
<rule name="Block SomeRobot" stopProcessing="true">
 
<match url="^uploads/(.*).php$" />
 
<conditions logicalGrouping="MatchAny">
 
<add input="{USER_AGENT}" pattern="SomeRobot" />
 
<add input="{REMOTE_ADDR}" pattern="" />
 
</conditions>
 
<action type="AbortRequest" />
 
</rule>
 
 
 
Nginx下禁止指定目錄運行PHP腳本
 
注意:這段配置文件一定要放在 location ~ .php(.*)$ 的前面才可以生效,配置完后記得重啟Nginx生效。
 
location ~* /(a|data|templets|uploads)/(.*).(php)$ {
 
return 403;
 
}
 
 
 
驗證是否生效
 
用 Noptepad++ 或者 Sublime Text 或者 Dreamweaver 新建一個php文件,名為t.php,里面隨便打幾個字即可
 
上傳到你網站的 uploads 文件夾里,然后在瀏覽器上打開 http://域名/uploads/t.php
 
 
如果是能正常顯示你寫的字,那表示沒生效,有風險,想辦法讓它生效吧。
十大色情片电影