WP Manifestindependent plugin directory
manifest / security / dmy-link

大绵羊外链跳转插件 self-updates

大绵羊外链跳转插件是专为 WordPress 站点开发的外部链接管理插件。插件的主要功能是拦截文章中的外部链接,在跳转前提醒用户即将离开本站,提升用户安全意识并优化用户体验。

by 大绵羊 · github.com/dmmyblog/dmy-link · website

26stars
4forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/dmmyblog/dmy-link/archive/refs/heads/main.zip

Ships its own WordPress updater (built-in updater), so new versions show up under Dashboard → Updates.

大绵羊外链跳转插件

插件版本:1.5.0

作者:大绵羊&天无神话

插件描述

大绵羊外链跳转插件是专为 WordPress 站点开发的外部链接管理插件。插件的主要功能是拦截文章中的外部链接,在跳转前提醒用户即将离开本站,提升用户安全意识并优化用户体验。用户可以自由选择提示页面的样式,还可以通过白名单设置来避免对信任的外部链接进行干扰。

插件功能

1. 自动拦截外部链接  

插件会自动检查并拦截文章中的外部链接,所有非本站链接都会跳转到提示页面,提醒用户即将跳转到外部网站。

自动拦截外部链接

2. 白名单功能  

用户可以在插件设置中添加白名单链接,指定哪些外部链接不受拦截,直接访问。白名单链接无需加 http://https://,每行一个即可。

image

3. 多种提示页面样式  

插件提供五种风格的提示页面,用户可以根据需求选择合适的样式:  

  • 默认样式  
  • 哔哩哔哩风格  
  • 腾讯风格  
  • CSDN风格  
  • 知乎风格  
  • jump风格[1.3.5]  
  • tiktok风格[1.3.5]  
  • moxing风格[1.3.5]  
image-13

4. 自定义 Logo  

用户可以上传自定义 Logo 图片,替换插件的默认 Logo。如果不设置,插件不会默认使用网站的 Logo。

image

5. 外部链接重定向  

点击外部链接时,插件会首先跳转到提示页面,再通过重定向跳转到目标链接。

6. 易用的后台设置界面  

插件基于 Codestar Framework 提供了直观、易用的后台设置界面,用户可以轻松进行各项配置。

7.当跳转链接过期时,插件会引导用户到错误页面

image

8. 跳转页广告位 [1.5.0 新增]

跳转页是全站曝光最高的页面之一。1.5.0 起可以在跳转页放一个广告位 / 内容位:

  • 两种内容形式:「图片 + 链接」或「自定义 HTML / 广告代码」(支持 iframe;第三方脚本需开启「原样输出」,自带样式的代码可选「透明容器」)
  • 三种位置:提示框下方、提示框上方、底部悬浮横幅(悬浮横幅自带关闭按钮),适配全部 8 套皮肤
  • 角标文字可自定义(默认「广告」,可留空);可选仅对未登录访客展示
  • 倒计时自动跳转(0~30 秒,默认关闭):倒计时期间访客停留在跳转页;点击「取消自动跳转」或按任意键即可中断,切到后台标签页也会自动停止,确保安全提示不会形同虚设;倒计时文案、取消按钮、取消后的提示均可自定义
  • 外观自定义:广告位宽度、卡片背景色(支持透明度)、文字颜色、强调色、圆角,以及仅在跳转页生效的自定义 CSS
  • 设置面板提供「预览跳转页」链接,保存后一键查看效果
  • 默认关闭,不启用时跳转页不会多输出任何内容

主题作者可通过以下过滤器二次定制(均在 src/ad-slot.php):

过滤器 说明
dmy_link_ad_config 修改最终的广告配置数组(类型、位置、图片、链接、HTML 等),返回 null 可临时隐藏
dmy_link_ad_html 修改广告位输出的 HTML
dmy_link_ad_allowed_html 扩展广告 HTML 的 wp_kses 白名单
dmy_link_ad_countdown 修改倒计时秒数(返回 0 关闭)
dmy_link_ad_texts 修改倒计时的三段文案(text / stop / cancelled
dmy_link_ad_inline_style 修改跳转页内联输出的自定义样式
// 示例:只在文章页点出的外链上显示广告
add_filter('dmy_link_ad_config', function ($config) {
    return wp_get_referer() && strpos(wp_get_referer(), '/archives/') !== false ? $config : null;
});

使用方法

  1. 安装并激活插件。
  2. 进入 WordPress 后台,点击菜单中的“外链跳转插件”。
  3. 在插件设置中,您可以:      - 配置外部链接白名单。      - 选择提示页面样式。      - 上传自定义 Logo。  
  4. 保存设置后,插件将自动生效,所有文章中的外部链接都会进行拦截和跳转提示。

插件设置

  • 基本设置:提供插件总开关,可以随时启用或关闭插件功能。
  • 白名单设置:用户可以输入信任的外部链接,插件将跳过这些链接,不进行跳转提示。
  • 样式设置:提供八种不同的页面样式,包括默认、哔哩哔哩、腾讯、CSDN、知乎风格,以及1.3.5版本新增的jump、tiktok、moxing风格。
  • 主题社区功能:支持7b2主题圈子功能和子比主题社区帖子功能,可自定义CSS选择器。[1.3.5新增]
  • Logo 设置:可以上传一个 Logo 图片,替换默认的 Logo,提升网站个性化。
  • 跳转页广告:在跳转页展示图片横幅或自定义 HTML 广告位,可选提示框下方 / 提示框上方 / 底部悬浮三种位置,可仅对未登录访客展示,并可开启可中断的倒计时自动跳转。[1.5.0 新增]
  • 安全设置:跳转令牌采用 HMAC-SHA256 签名,无需写入数据库,兼容 CDN / Nginx 整页缓存;可自定义链接有效期(默认 5 分钟,上限 24 小时),并提供 Referer 防护与旧链接兼容开关。[1.5.0 重构]

插件优势

  • 提高用户安全:提醒用户即将跳转到外部网站,防止潜在的钓鱼网站和恶意网站。
  • 增强用户体验:通过多样化的页面风格,提升提示页面的视觉效果和用户体验。
  • 灵活配置:支持白名单功能,避免不必要的干扰,同时提供多个风格,满足不同用户需求。

插件更新日志

  • [1.5.0]
    • 重构跳转令牌为 HMAC-SHA256 签名机制,增加有效期、篡改校验和无状态处理,兼容 CDN / Nginx 整页缓存。
    • 修复公开 AJAX、?a= 参数、白名单、Referer、伪协议及 HTML 链接解析等安全问题。
    • 新增跳转页广告位,支持图片或 HTML、自定义位置与样式、访客展示控制和可中断倒计时。
    • 优化子比主题适配:仅接管主题生成的 /?golink= 地址,排除域名使用主题配置,其他主题功能交回主题处理。
    • 优化 Logo 自动继承、长文章处理、停用卸载、多语言加载及函数命名,提升兼容性。
  • [1.4.0]
    • 修复子比主题 CSF 设置面板重复输出、评论链接重复处理及用户详情模态框冲突问题。
    • 增强 AJAX Referer 校验和用户输入清理,兼容 Nginx 缓存环境并降低接口被外部滥用的风险。
    • 调整子比主题适配注册时机,确保主题和自定义代码加载完成后再执行相关覆盖逻辑。
    • 优化 the_content 配置读取、纯 URL 处理、随机数生成,并增加 GitHub Releases 自动更新检测。
  • [1.3.7]
    • 修复内部链接被误判为外部链接的问题,站内链接不再触发跳转拦截。
    • 修复 /path/page 等相对路径识别异常,减少与主题或其他插件的兼容性冲突。
    • 强化 Referer 防护、整体运行稳定性和后台菜单入口。
  • [1.3.6]
    • 修复 URL 传输过程中 + 号被转换为空格,避免带参数链接跳转错误。
  • [1.3.5]
    • 新增 AES-256-CBC 加密模式,以及 jump、tiktok、moxing 三种跳转页风格。
    • 支持 JavaScript 动态加载链接转换,并完善输入验证、URL 校验、XSS 防护、权限控制和 transient 存储。
    • 增加对子比主题和 7b 主题圈子功能的适配。
  • [1.2.0]
    • 以带有效期的 Token 机制替代原 Base64 方案,新增后台过期时间设置,默认有效期为 5 分钟。
    • 加强 URL 安全处理和恶意链接防护,链接过期时显示错误提示并提供返回首页入口。
    • 优化 transient 处理,避免跳转链接刷新后立即失效,并改善链接过期前的使用体验。
  • [1.1.1]
    • 优化跳转页 HTML 结构,改善页面兼容性。
    • 增加手机端适配,提升移动设备上的显示效果。
  • [1.0.0]
    • 初始版本,提供默认、腾讯、CSDN、哔哩哔哩和知乎五种跳转页样式。

详细信息请参考 changelog.md 文件。

插件免责声明

  • 本插件是开源免费使用的,但禁止修改插件的版权信息或将插件用于商业目的。插件作者保留所有版权。

    插件支持

  • 使用框架:Codestar Framework  

  • 社区支持:欢迎加入插件使用qq群,我们将定期更新并提供支持。


作者联系方式