dede upload目录如何安全修改?

99ANYc3cd6
预计阅读时长 13 分钟
位置: 首页 DEDE建站 正文

核心配置文件:config_base.php

DedeCMS所有核心的上传设置都集中在 /include/config_base.php 文件中,您可以通过修改这个文件来全局控制上传行为。

dede 更改upload
(图片来源网络,侵删)

请务必:

  1. 修改前备份原文件,以防出错无法恢复。
  2. 使用专业的代码编辑器(如 VS Code, Sublime Text, Notepad++)打开,避免使用记事本导致编码问题。

以下是 config_base.php 中与上传相关的关键配置项及其说明:

上传目录设置

// 上传目录
$cfg_medias_dir = '/uploads'; // 媒体文件(附件、图片等)上传目录
$cfg_image_dir = '/uploads'; // 图片上传目录
$cfg_soft_dir = '/uploads'; // 软件上传目录
$cfg_other_dir = '/uploads'; // 其他文件上传目录
  • 作用:定义不同类型文件上传后存放的根目录,默认是 /uploads
  • 如何更改:您可以将这些路径修改为您想要的,/uploads/all/assets注意:确保您设置的目录存在且具有正确的读写权限(通常是 755 或 777)。

上传文件类型限制

这是最常见的需求,限制用户可以上传的文件后缀名。

// 上传文件类型
$cfg_upload_ext = 'jpg|jpeg|gif|png|bmp'; // 默认允许上传的图片类型
$cfg_mediatype = 'jpg|jpeg|gif|png|bmp|ico'; // 媒体文件类型
$cfg_softtype = 'zip|rar|gz|bz2|iso|dmg|tgz|7z|doc|docx|xls|xlsx|ppt|pptx|pdf|txt|md'; // 软件及其他文件类型
  • 作用:通过 分隔的列表来定义允许上传的文件后缀名。
  • 如何更改
    • 只允许上传图片:将 $cfg_upload_ext 修改为 jpg|png
    • 允许上传PDF:在 $cfg_mediatype$cfg_softtype 中添加 pdf
    • 禁止上传某些类型:直接从列表中移除即可。

上传文件大小限制

// 上传文件大小限制
$cfg_upload_maxsize = '2048'; // 默认为 2048 KB,即 2MB
  • 作用:限制单个文件上传的最大大小,单位是 KB
  • 如何更改:想限制为 10MB,就修改为 10240 (10 * 1024)。

上传方式

// 上传方式,1:FTP 0:本地
$cfg_upftp = 0;
  • 作用:决定文件是上传到网站服务器本地,还是通过FTP协议上传到另一台FTP服务器。
  • 如何更改
    • 本地上传(默认)$cfg_upftp = 0;
    • FTP上传$cfg_upftp = 1; 启用后,还需要在后台的“系统” -> “FTP管理”中配置FTP服务器信息。

缩略图设置

// 是否启用远程图片
$cfg_remote_site = 'N'; // N:不启用 Y:启用
// 缩略图默认设置
$cfg_ddimg_width = '250'; // 缩略图默认宽度
$cfg_ddimg_height = '250'; // 缩略图默认高度
  • 作用$cfg_remote_site 用于是否抓取文章内容中的远程图片到本地,缩略图设置影响生成缩略图的默认尺寸。

如何操作:以修改上传目录和文件类型为例

假设您想把上传目录从 /uploads 改为 /myuploads,并且只允许上传 jpgpng 格式的图片。

dede 更改upload
(图片来源网络,侵删)

步骤 1:备份文件 复制一份 include/config_base.php 文件,命名为 config_base.php.bak

步骤 2:编辑配置文件 用编辑器打开 include/config_base.php,找到以下几行:

// --- 修改前 ---
$cfg_medias_dir = '/uploads';
$cfg_image_dir = '/uploads';
$cfg_upload_ext = 'jpg|jpeg|gif|png|bmp';
// --- 修改后 ---
$cfg_medias_dir = '/myuploads';
$cfg_image_dir = '/myuploads';
$cfg_upload_ext = 'jpg|png';

步骤 3:创建新目录 通过FTP或服务器管理工具(如cPanel,宝塔面板),在您的网站根目录下创建一个名为 myuploads 的文件夹。

步骤 4:设置目录权限 选中 myuploads 文件夹,将其权限设置为 755,如果后台需要自动创建文件夹,可能需要临时设置为 777,上传完成后再改回755。

步骤 5:清空缓存 登录DedeCMS后台,进入“系统” -> “一键更新网站” -> “更新缓存”,点击“开始更新缓存”,确保新配置生效。

当您再次上传图片时,文件就会被保存到 /myuploads 目录下,并且只能选择 .jpg.png 文件。


其他相关修改

修改上传按钮的提示文字

这些文字通常在模板文件中,而不是配置文件里,在发布文章或图集的模板中。

  • 文件路径/templets/default/ 目录下的相关模板文件,如 article_add.htm (发布文章), album_add.htm (发布图集)。
  • :在模板文件中搜索 上传选择文件 等关键词,然后修改对应的HTML文本。

修改上传组件的样式

上传按钮的样式由CSS文件控制。

  • 文件路径/templets/default/css/ 目录下的样式文件,如 dedecms.css
  • :搜索与上传按钮相关的CSS类,.btn.upbtn 等,然后修改其 backgroundcolorborder 等属性。

修改“附件”相关的字段名

在DedeCMS中,上传的附件通常存储在 #@__addonarticle (附加表) 或 #@__uploads (主表) 中,字段名通常是 filepath (路径)、filename (文件名)、filesize (大小) 等。通常不建议直接修改这些数据表结构,除非您有非常明确的需求并且了解其后果。

修改目标 核心文件/位置 关键配置项/方法
上传目录 /include/config_base.php $cfg_medias_dir, $cfg_image_dir
文件类型 /include/config_base.php $cfg_upload_ext, $cfg_mediatype
文件大小 /include/config_base.php $cfg_upload_maxsize
上传方式 /include/config_base.php $cfg_upftp (及后台FTP设置)
按钮文字 /templets/default/ 下的模板文件 直接修改HTML文本
按钮样式 /templets/default/css/ 下的CSS文件 修改CSS类选择器

对于绝大多数“更改upload”的需求,直接编辑 config_base.php 文件是最直接、最有效的方法,请牢记操作前备份,操作后清空缓存。

-- 展开阅读全文 --
头像
C语言中if与else if的执行逻辑是怎样的?
« 上一篇 今天
C语言int格式化输出有哪些注意事项?
下一篇 » 今天

相关文章

取消
微信二维码
支付宝二维码

目录[+]