有朋友的DedeCMS后臺程序被掛馬,造成損失,就認(rèn)為織夢安全性很低。說實話能被黑客看得上的網(wǎng)站其實做得還可以,垃圾站連我也不屑光顧。其實只要積累經(jīng)驗,就能讓網(wǎng)站更安全,下面就來談一談具體的設(shè)置方法:
后臺密碼設(shè)置要復(fù)雜
管理員密碼一定要長,字母與數(shù)字混合,不要用admin。系統(tǒng)數(shù)據(jù)庫存儲的密碼是MD5的,一般HACK就算通過注入拿到了MD5的密碼,如果你的密碼夠嚴(yán)謹(jǐn),對方也逆轉(zhuǎn)不過來。
刪除不需要的目錄
不需要的功能一律刪除,如不需要會員功能就將member文件夾刪除,刪除多余組件是避免被HACK注射的最佳辦法。將每個目錄添加空的index.html,防止目錄被訪問。
可刪除目錄列表:
member會員功能 special專題功能 install安裝程序(必刪) company企業(yè)模塊 /plus/guestbook留言板
以及其他模塊一般用不上的都可以不安裝或刪除。
刪除不需要的文件
/dede/file_manage_control.php /dede/file_manage_main.php /dede/file_manage_view.php /dede/media_add.php /dede/media_edit.php /dede/media_main.php
這些文件是后臺文件管理器,一般用不上統(tǒng)統(tǒng)刪除,要管理文件夾盡量到FTP。
不需要SQL命令運行器的將下面文件刪除。
/dede/sys_sql_query.php
不需要tag功能請刪除:
/tag.php
不需要頂客請刪除:
/plus/digg.php /plus/diggindex.php
修改配置
為了防止HACK利用發(fā)布文檔、上傳木馬,請安裝完成后阻止上傳PHP代碼。到此基本堵上了所有上傳與編輯木馬的可能性,附帶簡單方法。(在5.0以上的版本本身已經(jīng)作好修改了,這點經(jīng)測試比較過的)
打開include/config_base.php,找到
Copy code//禁止用戶提交某些特殊變量 $ckvs = Array('_GET','_POST','_COOKIE','_FILES'); foreach($ckvs as $ckv){ if(is_array($$ckv)){ foreach($$ckv AS $key => $value) if(eregi("^(cfg_|globals)",$key)) unset(${$ckv}[$key]); } }
改為下面代碼
Copy code//把get、post、cookie里的<? 替換成 $ckvs = Array('_GET','_POST','_COOKIE'); foreach($ckvs as $ckv){ if(is_array($$ckv)){ foreach($$ckv AS $key => $value) if(!empty($value)){ ${$ckv}[$key] = str_replace('<'.'?','&'.'lt;'.'?',$value);<> ${$ckv}[$key] = str_replace('?'.'>','?'.'&'.'gt;',${$ckv}[$key]); } if(eregi("^cfg_|globals",$key)) unset(${$ckv}[$key]); } } //檢測上傳的文件中是否有PHP代碼,有直接退出處理 if (is_array($_FILES)) { foreach($_FILES AS $name => $value){ ${$name} = $value['tmp_name']; $fp = @fopen(${$name},'r'); $fstr = @fread($fp,filesize(${$name})); @fclose($fp); if($fstr!='' && ereg("<\?",$fstr)){<> echo "你上傳的文件中含有危險內(nèi)容,程序終止處理!"; exit(); } } }
虛擬主機注意事項
目錄重命名
管理目錄/dede務(wù)必重命名,而且要像密碼一樣復(fù)雜才最好。
補丁升級
DedeCMS更新頻率不高,但是如果有更新一定用最新的,如果已經(jīng)做了二次開發(fā)的,先備份數(shù)據(jù)庫,再仔細(xì)對比手動覆蓋安裝。