您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
解决织梦dedecms后台无法上传图片的原因及解决方法
紫真2023-09-30 20:17:04dedecms教程已有人查阅
导读织梦(DEDECMS)后台无法上传提片,提示上传失败,令人懊恼。而织梦或其它程序使图片上传失败的原因无非就那么几种可能,我们首先分析下上传失败的可能性,排除并解决后台图片不能上传的问题。
织梦(DEDECMS)后台无法上传提片,提示上传失败,令人懊恼。而织梦或其它程序使图片上传失败的原因无非就那么几种可能,我们首先分析下上传失败的可能性,排除并解决后台图片不能上传的问题。
笔者昨天对LINUX服务器做了安全设置,导致图片不能上传,本以为是程序漏洞导致,之后发现所有网站都无法上传图片,则肯定了和程序漏洞的关系可能比较小。
其实,图片不能上传成功的原因大概有以下几种:
1、目录上传权限不够。
2、程序本身漏洞导致,或程序不完整导致。
3、操作系统问题。
检测目录权限
当 提示图片上传失败的时候,我首先检测的是文件权限是否足够。经过检测,文件夹的权限是755表示已经足够,并且已经重新创建了文件夹并赋予很高权限,依然 没有解决该问题,接着检测用户组权限是否足够,通过检测也没有发现任何的问题,因此文件夹权限导致图片不能正常上传的可能性被排除。
网站程序完整性
接着检测网站程序的完整性,发现十多个网站都不能正常上传图片,于是排除了网站程序完整性导致图片上传失败的可能性。
操作系统问题
于是检测 WEB NGINX 服务器,将图片上传文件夹的可执行权限开放,但任然不能成功上传图片。此时,忽然想起了之前配置过 php.ini 配置文 档,将 open_basedir 配置成了网站程序所在根目录 /htdocs,于是将该行代码注释掉,之后便成功的上传了图片,问题被解决掉。但是, 这样做放弃了安全性,有些舍不得。
通过以下方法,不仅让安全性提高,也解决了图片上传失败的问题:
php.ini 中的open_basedir 表示:php程序执行限制在了指定的目录中,这样可以限制入侵者继续提权到操作系统,安全性有更一步的保障。其 中 upload_tmp_dir 表示的是文件上传临时目录,如果设置了 open_basedir 参数,那么 upload_tmp_dir 必须 配置,否则文件上传将不能成功。
总结:遇到图片不能上传,表示相当棘手。需要从上传的图片类型、图片的尺寸、文件夹权限、程序完整性到之后 的系统环境一一分析,遇到问题不要焦急,相信经过透彻的分析与测试,问题总会被解决掉。本文最终解决方法就有两个,注释 open_basedir 该行 代码就能解决问题,如果配置了 open_basedir 那么需要设定文件上传临时目录,之后笔者将 upload_tmp_dir 设定 为 /tmp 后,图片就可以成功上传了!
笔者昨天对LINUX服务器做了安全设置,导致图片不能上传,本以为是程序漏洞导致,之后发现所有网站都无法上传图片,则肯定了和程序漏洞的关系可能比较小。
其实,图片不能上传成功的原因大概有以下几种:
1、目录上传权限不够。
2、程序本身漏洞导致,或程序不完整导致。
3、操作系统问题。
检测目录权限
当 提示图片上传失败的时候,我首先检测的是文件权限是否足够。经过检测,文件夹的权限是755表示已经足够,并且已经重新创建了文件夹并赋予很高权限,依然 没有解决该问题,接着检测用户组权限是否足够,通过检测也没有发现任何的问题,因此文件夹权限导致图片不能正常上传的可能性被排除。
网站程序完整性
接着检测网站程序的完整性,发现十多个网站都不能正常上传图片,于是排除了网站程序完整性导致图片上传失败的可能性。
操作系统问题
于是检测 WEB NGINX 服务器,将图片上传文件夹的可执行权限开放,但任然不能成功上传图片。此时,忽然想起了之前配置过 php.ini 配置文 档,将 open_basedir 配置成了网站程序所在根目录 /htdocs,于是将该行代码注释掉,之后便成功的上传了图片,问题被解决掉。但是, 这样做放弃了安全性,有些舍不得。
通过以下方法,不仅让安全性提高,也解决了图片上传失败的问题:
php.ini 中的open_basedir 表示:php程序执行限制在了指定的目录中,这样可以限制入侵者继续提权到操作系统,安全性有更一步的保障。其 中 upload_tmp_dir 表示的是文件上传临时目录,如果设置了 open_basedir 参数,那么 upload_tmp_dir 必须 配置,否则文件上传将不能成功。
总结:遇到图片不能上传,表示相当棘手。需要从上传的图片类型、图片的尺寸、文件夹权限、程序完整性到之后 的系统环境一一分析,遇到问题不要焦急,相信经过透彻的分析与测试,问题总会被解决掉。本文最终解决方法就有两个,注释 open_basedir 该行 代码就能解决问题,如果配置了 open_basedir 那么需要设定文件上传临时目录,之后笔者将 upload_tmp_dir 设定 为 /tmp 后,图片就可以成功上传了!
本文标签:
很赞哦! ()
相关文章
随机图文
-
织梦dedecms调用当前栏目链接的方法实例
文章页调用所属栏目的链接:{dede:type typeid=0 row=1}[field:typelink /]{/dede:type}示例: -
织梦cms简单实现防采集的方法
作为一个站长,自己辛辛苦苦写的文章一眨眼,就被别人采集去了,是不是很不爽?今天AB模版网就教给大家一个简单方法来防止别人的采集,下面是具体方法:拿默认模板 -
dedecms织梦文章生成在网站根目录的实现方法
织梦CMS文章生成在根目录的好处是减少文章深度,省去中间很多URL地址,有利于搜索引擎蜘蛛抓取,利于优化,像大型门户网站,大都会这样做。 -
织梦发布文章时输入Tag标签逗号怎么自动变成英文逗号
dedecms是一款非常好用的建站程序,从DedeCms5.3版本开始,把TAG标签的间隔号由空格改为英文的逗号,这样使得经常原创文章的站长朋友非常不方便
留言与评论 (共有 条评论) |