PbootCMS后台UEditor编辑器magnet ed2k链接自动加http前缀解决方法
PbootCMS后台用的UEditor编辑器,编辑内容时插入magnet:或ed2k://链接,保存后编辑器自动在前面加上http://,变成http://magnet:xxx,链接就失效了。这是UEditor的自动链接识别功能在作怪,它把不以http开头的字符串当成不完整链接,自动补全前缀。解决方法是修改UEditor的配置,关闭自动补全或自定义链接协议白名单。
找到UEditor的配置文件。PbootCMS的UEditor在`static/ueditor/`目录下,配置文件是`ueditor.config.js`。用编辑器打开,找到`whitList`或`xssFilter`相关配置。UEditor的XSS过滤机制会对a标签的href属性做处理,非白名单协议会被加上http://。
修改方法一:关闭自动链接识别。在ueditor.config.js里找到`'autotypeset'`配置,把`'mergeEmptyline'`等保持默认,找到`'textAlign'`附近的配置,或者直接在配置里加`'linkProtocol': 'http'`改成空。不同版本位置不同,搜索`linkProtocol`关键字,把值改成`''`,这样编辑器就不会自动给链接加协议前缀。
修改方法二:在UEditor的核心JS里修改链接处理逻辑。找到`ueditor.all.min.js`(压缩版)或`ueditor.all.js`(开发版),搜索`http://`找到自动补全的代码段。通常是判断href是否以http开头,不是的话加上。把magnet、ed2k、thunder、flashget这些协议加到判断条件里,匹配这些前缀时不补全。压缩版修改麻烦,建议用开发版改完再压缩。
修改方法三(最简单):编辑内容时用HTML源码模式插入链接。点编辑器工具栏的"HTML"按钮切换到源码模式,直接写`磁力链接`,切回可视化模式后不要点这个链接再编辑,保存时就不会被改。这种方法不用改程序文件,但每次加链接都要切源码模式,适合偶尔加链接的场景。
修改配置文件后要清浏览器缓存。UEditor的JS文件浏览器会缓存,改完按Ctrl+F5强制刷新,或者改完文件名加版本号(比如ueditor.config.js?v=2)确保加载新文件。清PbootCMS后台缓存,重新登录后台测试插入链接是否正常。
升级PbootCMS后修改可能被覆盖。UEditor文件在static目录下,升级程序时如果覆盖了static目录,修改就没了。建议把修改后的文件备份,升级后重新覆盖。或者用钩子/插件方式实现,不修改核心文件,但PbootCMS的UEditor插件机制有限,直接改文件最直接。
测试时插入多种协议链接:magnet:、ed2k://、thunder://、flashget://,保存后查看前台HTML源码,确认href属性没有被加http://。如果还有个别协议被加,回到配置里把该协议也加到白名单。修改后不影响普通http和https链接,正常链接功能不受影响。

更新时间:2026-08-26 18:07:45
上一篇:PbootCMS后台登录提示登录失败次数太多已被锁定怎么办_账号锁定解锁方法