織夢DEDECMS安全防護(hù)設(shè)置及漏洞修復(fù)

一、程序一定要從織夢官網(wǎng)下載,其他地方下載的不能保證安全。

二、下載后的程序在正常運(yùn)行后,要?jiǎng)h除下列文件夾(根據(jù)你的需要選擇刪除)。

member 會(huì)員文件夾整個(gè)刪除
special 專題文件夾整個(gè)刪除
install 安裝文件夾整個(gè)刪除
robots.txt 文件刪除

刪除 /templets/default 官方默認(rèn)模板這個(gè)文件夾(在你自己有模板的情況下,如果沒有,請勿刪除)

刪除PLUS文件夾除下列文件外的所有文件,保留下面幾個(gè)文件。

/plus/img (文件夾)
/plus/count.php
/plus/diy.php
/plus/list.php
/plus/search.php
/plus/view.php

三、修改默認(rèn)后臺(tái)管理目錄名稱,安裝時(shí)不要用默認(rèn)的admin當(dāng)管理員帳號(hào)及密碼。

四、修復(fù)剛剛下載的織夢最新程序包里已知漏洞

打開 /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("你指定的文件名被系統(tǒng)禁止!",'javascript:;');
	exit();
}

打開 /dede/media_add.php 找到(dede是你網(wǎng)站管理后臺(tái)目錄名稱)

$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("你指定的文件名被系統(tǒng)禁止!",'java script:;');
	exit();
}

打開/dede/config.php

搜索

if(!isset($token) || strcasecmp($token, $_SESSION['token']) != 0){

大約在67行,把它替換為

if(!isset($token) || strcasecmp($token, $_SESSION['token']) !== 0){

 

五、利用偽靜態(tài)功能禁止以下目錄運(yùn)行php腳本

apache環(huán)境

RewriteEngine on
#安全設(shè)置 禁止以下目錄運(yùn)行指定php腳本
RewriteCond % !^$
RewriteRule a/(.*).(php)$ – [F]
RewriteRule data/(.*).(php)$ – [F]
RewriteRule templets/(.*).(php|htm)$ – [F]
RewriteRule uploads/(.*).(php)$ – [F]

iis環(huán)境

<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環(huán)境

這段配置代碼一定要放在 location ~ .php(.*)$ 的前面才可以生效,配置完后記得重啟Nginx生效。

location ~* /(a|data|templets|uploads|images)/(.*).(php)$ {
	return 403;
}

寶塔面板在配置文件里面。加在紅框上面即可。如下圖

給所有站加上的話。請打開下面路徑,根據(jù)你的PHP版本找到相應(yīng)的文件。我這里是5.4版本的。

在最上面添加上面代碼,然后重啟服務(wù)。親測有效。

檢測設(shè)置成功的方法,新建一個(gè)隨意內(nèi)容的php文件放到a|data|templets|uploads任意文件夾,如果訪問出現(xiàn)4.3錯(cuò)誤,說明設(shè)置正常。如果顯示你剛才設(shè)置的內(nèi)容,剛是失敗。按步驟好好檢測一下看看是不是設(shè)置錯(cuò)誤。

六、網(wǎng)站上有一個(gè)爆網(wǎng)站后臺(tái)的方法:就是訪問/data/mysql_error_trace.inc或者/data/mysqli_error_trace.inc,分析里面的代碼來爆網(wǎng)站后臺(tái)。可在偽靜態(tài)配置文件里加入下面代碼即可,這是nginx下的配置文件,親測有效,其他運(yùn)行環(huán)境自行轉(zhuǎn)換

location /data {
rewrite ^/data\/(.*)$ /404.html;
}

這樣,訪問DATA的文件全都會(huì)提示404錯(cuò)誤。親測有效!

我們可以關(guān)閉這個(gè)生成這個(gè)文件

方法:

打開? /include/dedesql.class.php 找到

//保存MySql錯(cuò)誤日志
$fp = @fopen($errorTrackFile, 'a');
@fwrite($fp, '<'.'?php  exit();'."\r\n/*\r\n{$savemsg}\r\n*/\r\n?".">\r\n");
@fclose($fp);

這幾行刪除就行了,如果你的 data 文件夾里面有 mysql_error_trace.inc 文件,記得刪除它。

 

同理我們還可以設(shè)置禁止訪問plus|templets|uploads等目錄

location /plus {
rewrite ^/plus\/(\w+)\.php(.*)$ /404.html;
}
location /templets {
rewrite ^/templets/(.*)/(.*).htm$ /404.html;
}
location /uploads {
rewrite ^/uploads\/(\w+)\.php(.*)$ /404.html;
}

 

織夢DEDECMS木馬后門專殺工具(適用織夢程序被掛碼、入侵的檢查和清理)

THE END
亚洲中文色欧另类欧美,久久久久久久激情,亚洲 日韩 欧美 另类 国产,中文字幕高清无码男人的天堂 www.sucaiwu.net