改文章的部分使用说明可能已过时,请参考详细文档
前段时间,读了一篇博客,有位博主提及自己的博客内有一些恶意链接或者链接被人劫持,自己未能及时发现并从博客上清理掉而导致博客被搜索引擎拉入黑名单中。面对这种情况,有时候就算及时处理了,也可能在外链的权重上或多或少受到波及。
如果加了安全跳转中台后,这样就可以让自己的主域名成功与外链间接通过中台串联,而不是直接关系。这样就会避免自己的博客被搜索引擎拉黑或导致拉黑的机率提高。由于网络安全的问题这些年越来越被关注,好多大型平台例如微博,微信,qq,网易等,都在这几年为自家的网络产品添加了一个安全跳转的中台页面。
我也想好好把这个博客站经营下去,不想被一些恶意链接导致站点被拉黑,因此也比较担心自己的站点也会出现此类问题,于是便想开发一款插件来避免此类情况发生!
插件主要是通过 Halo 官方JSoup解析到文章内容的所有 a 标签,之后修改 a 标签的 href 属性,而这个 href 属性是我们的安全跳转中台,关键的一点就是在 a标签的 rel属性 中加入 noopener external nofollow noreferrer 这个值。超链接a标签的 rel="noopener noreferrer"属性是一种新特性,它能让网站更安全,超链接添加rel="noopener noreferrer"来防止钓鱼网站,因为它获取的window.opener的值为null。在新打开的页面中,通过window.opener可以获取到源页面的部分控制权,即使新打开的页面是跨域也可以获取部分控制权。当a标签中加入了rel="noopener noreferrer"属性,window.opener 会为null。
超链接添加 rel=external nofollow 是为了告诉搜索引擎,不要将链接计入权重中,他是告诉一些非本站的链接、不想传递权重,例如网页里的统计代码、备案号链接、供用户查询链接等。这两个属性的大致可以解释为 “这个链接非本站链接,不要爬取也不要传递权重”。
此外,还加入了一些其他安全检测,比如XSS攻击等。后续在插件的维护升级中,会加入更多的安全检测类型来保证自己博客站点的安全性。
下边是整体的实现效果:

GitHub 下载
百度网盘下载地址
如果您在使用过程中遇到了问题,麻烦在本站留言区域留言给我!
注意事项!!!
① 该插件在使用前,确保您已经安装了Halo 官方提供的链接管理插件!!!后续计划会慢慢去除掉这一项功能,根据用户配置来判断是否导入链接管理插件的数据。
② Halo 版本要求 >= 2.12.0!!!

https(http)://wenjing.xin ,注意不能带 “/”。
提示信息是链接检测后的状态提示,请根据自己的喜好修改,可默认不变!

链接管理插件的链接数据,如果你在文章中插入了这些链接,则会自动跳转不进行检测。如果有一些你不想跳转到链接,比如网站出现异常的链接,你可以把他们归类到一个组别中,插件会自动排除这些链接。组别的获取方式实在链接插件管理页面中,点击组别会在地址栏出现。至此,已经完成插件的所有配置了,如果在使用过程中遇到了什么问题,请先在本站留言给我,之后再发 issue.
下载验证设置。文章页面元数据设置键
downloadUrl,值是你文章内的下载链接,如果有多个下载链接,可食用,进行分隔,否则插件会统一识别为普通的地址!!!

如果有HTML块渲染的页面,请在页面元数据设置中添加
isExclude:true来排除,否则会与HTML块渲染的内容冲突!!!
未来计划要做的事
插件的所有版本下载地址:链接在这里
主要功能:
如果有HTML块渲染的页面,请在页面元数据设置中添加
isExclude:true来排除,否则会与HTML块渲染的内容冲突!!!
downloadUrl,值是你文章内的下载链接,如果有多个下载链接,可使用 ,进行分隔,否则插件会统一识别为普通的地址!!!<script src="http(https)://yourDomain.com/plugins/link-security-detect/assets/static/commentLink.js"></script>QQ群,加群后管理员自动审核。

最后,欢迎大家来使用我的插件并提出问题!