admin 发表于 2020-11-3 12:56:13

解决百度编辑器ueditor上传附件图标暴露后台地址问题

使用百度编辑器在后台上传附件后会生成一个附件图标,附件图标使用的是绝对路径URL,这将导致后台路径给暴露出去了,后台入口也非常容易找到,导致网站不安全。
      解决方法:

            1.把后台ueditor/dialogs/attachment/fileTypeImages文件夹下的图片目录复制前台目录中,如:static/ueditor/dialogs/attachment/fileTypeImages。
            2.查看自己的百度编辑器引用的文件,如ueditor.all.min.j或ueditor.all.js,打开并修改这个文件。修改文件时我们不必把整个框架结构去看一遍,那样很让费时间,只需要找到关键部分修改即可,搜索关键字dialogs/attachment/fileTypeImages,会看到下面的代码:
return {    commands:{      'insertfile': {            execCommand: function (command, filelist){                filelist = utils.isArray(filelist) ? filelist : ;                var i, item, icon, title,                  html = '',                  URL = me.getOpt('UEDITOR_HOME_URL'),                  /*                  * iconDir 就是定义上传附件中的图标的路径了                  */                  iconDir = URL + (URL.substr(URL.length - 1) == '/' ? '':'/') + 'dialogs/attachment/fileTypeImages/';                for (i = 0; i < filelist.length; i++) {                  item = filelist;                  icon = iconDir + getFileIcon(item.url);                  title = item.title || item.url.substr(item.url.lastIndexOf('/') + 1);                  html += '' +                        'http://www.1327.net/' +                        '' + title + '' +                        '
';                }                me.execCommand('insertHtml', html);            }      }    }}找到其中定义图标路径的conDIr变量,并修改成自己的路径即可,如:
//iconDir = URL + (URL.substr(URL.length - 1) == '/' ? '':'/') + 'dialogs/attachment/fileTypeImages/';iconDir = '/static/ueditor/dialogs/attachment/fileTypeImages/';            3.修改完后一定要在浏览器设置中清理浏览器缓存,不然总是有缓存,修改代码不生效。

      *删除百度编辑器上传附件图标操作
            从上面代码也能发现,删除html变量中就是图标的设置代码,如果不需要百度编辑器中上传附件的图标显示,直接删除上面的代码就行了。


页: [1]
查看完整版本: 解决百度编辑器ueditor上传附件图标暴露后台地址问题