阅读模式:

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

查看:10750  回复:0  类型:  来源:php自学网  标签 ueditor

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

        解决方法:

            1.把后台ueditor/dialogs/attachment/fileTypeImages文件夹下的图片目录复制前台目录中,如:static/ueditor/dialogs/attachment/fileTypeImages。

            2.查看自己的百度编辑器引用的文件,如ueditor.all.min.jueditor.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 + '" />

        看看这个图标,就不会暴露后台地址了:

分享到:
2 0

发布评论:


登录:
  表情:
提交