member 會員文件夾整個刪除
special 專題文件夾整個刪除
install 安裝文件夾整個刪除
robots.txt 文件刪除
刪除 /templets/default 官方默認模板這個文件夾(在你自己有模板的情況下,如果沒有,請勿刪除)
刪除PLUS文件夾除下列文件外的所有文件,保留下面幾個文件。
/plus/img (文件夾)
/plus/count.php
/plus/diy.php
/plus/list.php
/plus/search.php
/plus/view.php
打開 /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是你網站管理后臺目錄名稱)
$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){
apache環(huán)境
RewriteEngine on
#安全設置 禁止以下目錄運行指定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;
}
寶塔面板在配置文件里面。加在紅框上面即可。如下圖
給所有站加上的話。請打開下面路徑,根據你的PHP版本找到相應的文件。我這里是5.4版本的。
在最上面添加上面代碼,然后重啟服務。親測有效。
檢測設置成功的方法,新建一個隨意內容的php文件放到a|data|templets|uploads任意文件夾,如果訪問出現(xiàn)4.3錯誤,說明設置正常。如果顯示你剛才設置的內容,剛是失敗。按步驟好好檢測一下看看是不是設置錯誤。
location /data {
rewrite ^/data\/(.*)$ /404.html;
}
這樣,訪問DATA的文件全都會提示404錯誤。親測有效!
我們可以關閉這個生成這個文件
方法:
打開? /include/dedesql.class.php 找到
//保存MySql錯誤日志
$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 文件,記得刪除它。
同理我們還可以設置禁止訪問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;
}
]]>