使用百度编辑器在后台上传附件后会生成一个附件图标,附件图标使用的是绝对路径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 : [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[i]; icon = iconDir + getFileIcon(item.url); title = item.title || item.url.substr(item.url.lastIndexOf('/') + 1); html += '<p style="line-height: 16px;">' + '<img style="vertical-align: middle; margin-right: 2px;" src="'+ icon + '" _src="' + icon + '" />' + '<a style="font-size:12px; color:#0066cc;" href="' + item.url +'" title="' + title + '">' + title + '</a>' + '</p>'; } me.execCommand('insertHtml', html); } } } }
找到其中定义图标路径的conDIr变量,并修改成自己的路径即可,如:
//iconDir = URL + (URL.substr(URL.length - 1) == '/' ? '':'/') + 'dialogs/attachment/fileTypeImages/'; iconDir = '/static/ueditor/dialogs/attachment/fileTypeImages/';
3.修改完后一定要在浏览器设置中清理浏览器缓存,不然总是有缓存,修改代码不生效。 *删除百度编辑器上传附件图标操作从上面代码也能发现,删除html变量中就是图标的设置代码,如果不需要百度编辑器中上传附件的图标显示,直接删除上面的代码就行了。
<img style="vertical-align: middle; margin-right: 2px;" src="'+ icon + '" _src="' + icon + '" />
1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:duhaomu@163.com,我们将第一时间处理!
2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。
3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读网站声明。