tomdldldl 发表于 2015-2-12 10:42:27

编辑器插入图片重大问题

首先,在会员组中设置“单条信息上传数量限制”,比如为:2

然后,打开任何一个模块,发布信息,大家可以试试在编辑器中插入图片:当你插入第3个图片的时候,上述限制生效,提示“超出限制”。
提交后,再打开此条信息 进行编辑,依然可以再插入 2 幅图片,如此循环.....单条信息可以上传n个文件,如果用户恶意注入,结果会怎样呢?

原因如下:
打开根目录下\upload.php文件,找到:[*]      $limit = intval($MG['uploadlimit']);
[*]      $total = isset($_SESSION['uploads']) ? count($_SESSION['uploads']) : 0;
[*]      if($limit && $total > $limit - 1) {复制代码很显然,destoon 检查的是当前缓存的上传文件个数,而不是遍历此条信息累计已经成功上传的文件数量,问题找到了,但是却不知如何修改为好,哪位高人出手解决一下


龙在天涯 发表于 2015-2-12 10:56:18


本帖最后由 龙在天涯 于 2015-2-12 11:06 编辑

$total = isset($_SESSION['uploads']) ? count($_SESSION['uploads']) : 0;修改这句代码试下

ye888888 发表于 2015-2-12 10:59:47


精彩资源网

ye888888 发表于 2015-2-12 11:00:55


精彩资源网专业的教学资料平台,源码平台 : 诚交换友情连接

tomdldldl 发表于 2015-2-12 13:24:39



龙在天涯 发表于 2015-2-12 10:56

$total = isset($_SESSION['uploads']) ? count($_SESSION['uploads']) : 0;修改这句代码试下
我知道 需要改写这个 具体怎么改呢?

龙在天涯 发表于 2015-2-12 10:56:00



tomdldldl 发表于 2015-2-12 13:24

我知道 需要改写这个 具体怎么改呢?
具体怎么修改你可以资讯下官方

gaofeigz 发表于 2015-2-12 14:14:19


判断缓存就行了,查询数据文件个数不是增加负担么

粉碎机 发表于 2015-2-12 13:24:00


用简易编辑器限制用户插入图片不得了

tomdldldl 发表于 2015-2-21 13:15:25


gaofeigz 发表于 2015-2-21 13:15

判断缓存就行了,查询数据文件个数不是增加负担么
仅判断缓存,就会出现我上面说的问题,1条信息用户可以插入无数图片....

另外,通过DT在线编辑器上传的视频、附件,无法自动删除,造成大量垃圾文件:

上传后不提交、关闭浏览器、刷新浏览器,不能自动删除已上传文件
提交之后,已经上传但是不在内容中出现的文件,系统不能自动删除
修改信息时,不能自动删除从内容代码里删去的已上传文件
后台删除信息时,系统也不能自动删除内容里的已上传文件

这样看下来,DT的在线编辑器,所有涉及上传的功能,都存在不小的隐患,无法正常使用
页: [1]
查看完整版本: 编辑器插入图片重大问题