周三11062024

Last update08:15:27 PM

出错
  • 订阅数据加载错误。
Back 书法论坛
欢迎您, 游客
用户名 密码: 记住我

借助 Abivia Redaction 插件滤除 Joomla 扩展的版权链接
(1 人正在阅读本页) (1) 个游客
  • 页码:
  • 1

话题: 借助 Abivia Redaction 插件滤除 Joomla 扩展的版权链接

借助 Abivia Redaction 插件滤除 Joomla 扩展的版权链接 13 年, 8 个月 之前 #337

  • xiaoniu
  • 离线
  • Gold Boarder
  • 自由,平等,人文
  • 帖子: 237
  • 声望: 0


你喜爱的第三方 Joomla 扩展有没有在网站前台留下版权链接(back link)?有些软件作者允许用户在后台参数中将“显示作者版权链接”选为“否”,例如 SOBI2 就是这样。不过,大多数作者并没有这么做。因此,在本论坛也不时看到有会员询问:如何去掉**扩展的版权链接?以前,我们总是告诉会员:这就必须修改 PHP 源文件了。当然也有会员找到了应该修改(hack)哪个文件的哪一行。但是,这些方法毕竟操作起来不那么容易,甚至有些初级用户都不知道用什么软件来修改 .php 格式文件,当他在 Windows XP 操作系统上双击 .php 格式文件时,很可能找不到合适的软件来打开它。

今天介绍一款由 Abivia.net 开发的名为 Redaction Utility 的系统插件,它可以帮助用户轻松滤除这些版权链接。之所以说“滤除”而不用“去除”,是因为 Redaction 插件并不直接修改这些第三方扩展的源文件,而是在 Joomla 进行 HTML 代码输出时,拦截用户指定的那些代码。Redaction 插件不仅能滤除刚刚提到的这些版权链接,还能滤除任何你不想在前台看到的 HTML 输出。只要你给 Redaction 插件指定相应的滤除规则即可。



用 Redaction 插件滤除版权链接是否合法?
如果 Joomla 扩展或模板是遵照 General Public License(GPL) 协议发行,那么你就可以放心修改其源代码去掉版权链接。因为 GPL 允许用户修改软件代码。

如果某个 Joomla 扩展的授权协议不是 GPL,那就意味着我们不能修改它的源代码。这时我们通过 Abivia Redaction 插件来滤除它的版权链接,应该是合法的。

Redaction 插件用法介绍
以往的做法是,我们将 Joomla 扩展的安装包解压缩,然后在全部文件中搜索前台那个版权链接的字串,找到之后,注释掉(comment out)或删除那段代码即可。不过,有些软件作者并没有直接以明文写出那段代码,而是用加密的方式(例如 Artio JoomSEF),这时“查找/替换”方式就无效了。

而 Redaction 插件的最大方便之处是:你无需关心软件作者是如何在源代码中定义那个版权链接的,我们只要在前台找到这个链接,并编写符合 Redaction 插件工作原理的滤除规则,就能将这个版权链接在网页输出时隐藏。

Redaction 插件的后台只有一个参数,就是要求用户输入“滤除规则”。这个滤除规则的语法比较特殊,是通过一种“正则表达式”(Regular Expression)来匹配并过滤。我们并不打算去学习这种语法,因为本教程是面向 Joomla 初级用户的。我希望你通过本文的示范来学会如何自己编写简单的规则。



而我们采用 Redaction 插件来做更容易。

在含有这个版权链接的页面上点击鼠标右键,选择“查看源代码”,然后在源代码中搜索“Joomla SEF URLs by Artio”,就能迅速找到页面源代码中的这段,如下图所示:




Artio JoomSEF back link in page source code
以“Joomla SEF URLs by Artio”这句话为中心逐渐向前后看,首先是 HTML 的 A 元素(那是必须的,因为 a 元素定义超级链接),然后是 DIV 元素。同时,我们注意到 A 元素的链接目标是 www.artio.net

那么,我们针对 Artio JoomSEF 的滤除规则就是:

div a,/artio\.net/

简单分析一下:英文逗号之前依次是 div 和 a 这两个 HTML 元素,中间用一个空格分隔;artio 之前的斜线(/)表示链接目标;.net 之前的反斜线(\)是正则表达式中对句点(.)符号的特殊写法。

这个规则相当于说:如果页面源代码中有指向含 artio.net 字样网址的链接(a),同时这个链接又包含在某个 DIV 中(div),那么就拦截该 DIV 中的全部 HTML 输出。

将上面的规则输入到 Redaction 插件的后台参数中,并启用该插件,现在刷新前台页面,就会发现 Artio JoomSEF 的版权链接已经消失了:


Artio JoomSEF back link filtered
为了方便初级用户使用 Abivia Redaction 插件,在本文末尾我们提供了常见的几款 Joomla 扩展的版权链接滤除规则。如果你想滤除某个扩展或 Joomla 模板的版权链接,而不知道该怎样编写滤除规则,可以到本站论坛发帖,我们共同来研究。

温馨提示:如果需要用 Abivia Redaction 插件来滤除多个扩展或模板的链接,那么在后台插件参数中输入这些规则时,每行只能输入一个规则。也就是说,输完一个规则后,按回车换行,然后输入另一个规则。

Redaction 插件的高级用法
Abivia Redaction 插件还能识别 CSS 类及 HTML 元素的 ID 标签。这时编写滤除规则时,采用类似 CSS 的语法。例如:

div.credits a,/nqcogpl\.com/

上面这个规则表示:只有当 DIV 元素的 CSS 类为“credits” 时,才生效。如果某个 DIV 的 CSS 类不是 credits,即使该 DIV 中含有指向 nqcogpl.com 的链接,也不会被滤除。

另外,Redaction 插件还允许用户使用 * 或 ? 或 + 符号作为通配符来表示任意字符。例如:

*.credits a,/nqcogpl\.com/i

这个规则表示:无论包含 A 元素的容器是 DIV 还是 span,还是 P,只要其 CSS 类是“credits”同时含有这个链接,就可以生效。

像 Artio JoomSEF 及 AceSEF 这些软件,都提供了两个版本:免费版和收费版。其主要区别就是收费版不显示版权链接。那么,用户借助 Abivia Redaction 插件就能轻松滤除这些版权链接,不就是省了钱吗?




附:常见的几款 Joomla 扩展前台版权链接滤除规则


扩展名称

版权链接滤除规则

AceSEF div span a,/joomace\.net/

Artio JoomSEF div a,/artio\.net/

Alpha div span a,/alphaplug\.com/

Eventlist p a,/schlu\.net/

Agora Forum p span a,/jvitals\.com/

Phoca gallery div a,/phoca\.cz/

Remository div a,/remository\.com/

VirtueMart div a,/virtuemart\.net/i

div a,/joomace\.net/
div a,/joomlart\.com/
p a,/kksou\.com/
span a,/justjoomla\.com/

回复: 借助 Abivia Redaction 插件滤除 Joomla 扩展的版权链接 13 年, 8 个月 之前 #338

  • dingbusan
  • 离线
  • Administrator
  • 读书解惑
  • 帖子: 240
  • 声望: 1
我来附上Abivia Redaction 插件下载

未注册访客无法看到此附件。请登录或注册。
  • 页码:
  • 1
页面处理时间: 0.09 秒