"景先生毕设|www.jxszl.com

解决织梦(DEDECMS)后台无法上传图片问题

2022-10-29 16:42编辑: www.jxszl.com景先生毕设
织梦(DEDECMS)后台无法上传提片,提示上传失败,令人懊恼.而织梦或其它程序使图片上传失败的原因无非就那么几种可能,我们首先分析下上传失败的可能性,排除并解决后台图片不能上传的问题.

笔者昨天对LINUX服务器做了安全设置,导致图片不能上传,本以为是程序漏洞导致,最后发现所有网

 更多精彩就在: 51免费论文网|www.jxszl.com 
站都无法上传图片,则肯定了和程序漏洞的关系可能比较小.

其实,图片不能上传成功的原因大概有以下几种:

I..目录上传权限不够.

II.程序本身漏洞导致,或程序不完整导致.

III.操作系统问题.

检测目录权限

当提示图片上传失败的时候,我首先检测的是文件权限是否足够.经过检测,文件夹的权限是VIIVV表示已经足够,并且已经重新创建了文件夹并赋予最高权限,依然没有解决该问题,接着检测用户组权限是否足够,通过检测也没有发现任何的问题,因此文件夹权限导致图片不能正常上传的可能性被排除.

网站程序完整性

接着检测网站程序的完整性,发现X多个网站都不能正常上传图片,于是排除了网站程序完整性导致图片上传失败的可能性.

操作系统问题

于是检测WEBNGINX服务器,将图片上传文件夹的可执行权限开放,但任然不能成功上传图片.此时,忽然想起了之前配置过php.ini配置文档,将open_basedir配置成了网站程序所在根目录/htdocs,于是将该行代码注释掉,之后便成功的上传了图片,问题被解决掉.但是,这样做放弃了安全性,有些舍不得.

通过以下方法,不仅让安全性提高,也解决了图片上传失败的问题:

php.ini中的open_basedir表示:php程序执行限制在了指定的目录中,这样可以限制入侵者继续提权到操作系统,安全性有更I.步的保障.其中upload_tmp_dir表示的是文件上传临时目录,如果设置了open_basedir参数,那么upload_tmp_dir必须配置,否则文件上传将不能成功.

总结:遇到图片不能上传,表示相当棘手.需要从上传的图片类型.图片的尺寸.文件夹权限.程序完整性到最后的系统环境I.I.分析,遇到问题不要焦急,相信经过透彻的分析与测试,问题总会被解决掉.本文最终解决方法就有两个,注释open_basedir该行代码就能解决问题,如果配置了open_basedir那么需要设定文件上传临时目录,最后笔者将upload_tmp_dir设定为/tmp后,图片就可以成功上传了!


原文链接:http://www.jxszl.com/biancheng/dedecms/76684.html