织梦DedeCMS select_soft_post.php任意文件上传漏洞解决办法

最近很多建站朋友发现织梦DedeCMS安装在阿里云服务器后会在阿里云后台提示有一个dedecms任意文件上传漏洞,引起的文件是织梦安装目录下的/include/dialog/select_soft_post.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("你指定的文件名被系统禁止!",'javascript:;');
exit();
}