allwiki首页  
天下维客 你可以修改的网络知识库
首页最近更改优秀条目专题展示电脑科技词典软件学习网络知识电脑安全明星时尚天下百科
 

MediaWiki扩展:spam黑名单之文档

天下维客,你可以修改的网络知识库

Jump to: navigation, search
MediaWiki扩展简明教程 Inputbox帮助文档 使用Spam黑名单 内容折叠隐藏 动态文章列表 指定图片链接
代码高亮处理 预置初始编辑文本 页面访问限制 所见即所得编辑器 QQ在线信息
交流:扩展使用 投票与评分 内容随机展示 wikitex 改进设想 ...更多
加入google地图和51地图标注功能 Ajax五颗星评分插件

SpamBlacklist是一个对编辑内容进行简单过滤的mediawiki扩展。当有人试图保存页面时,本扩展将检查是否含有spam黑名单页面中的限制信息,如有出现则进行错误提示并拒绝保存页面。

目录

安装

请按下述方法为mediawiki增加本功能

首先,下载SpamBlacklist目录并上传到你的Mediawiki系统extensions目录下。在SpamBlacklist目录下至少包括两个文件:

  • SpamBlacklist.php
  • SpamBlacklist_body.php

然后,在LocalSettings.php的后部增加下面一行:

require_once( "$IP/extensions/SpamBlacklist/SpamBlacklist.php" );

无需其他操作,过滤器即可工作。在默认情况下,元维基的Blacklist(spam黑名单)将被下载并作为内容检查的依据。

另外可以选择从多个网址获取黑名单信息。这些来源由$wgSpamBlacklistFiles全局变量来设置,可以写在LocalSettings.php文件里的including SpamBlacklist.php行之后。

注意,一旦在LocalSettings.php指定了$wpSpamBlacklistFiles数组的内容,将不再执行默认获取元维基网址黑名单的动作。

$wgSpamBlacklistFiles是一个数组,每个取值为URL、文件名或者数据库location之一。

指定数据库location允许你从贵站wiki页面中获得黑名单信息。其指定格式为:"DB: <db name> <title>"。其中,<db name>要与LocalSettings.php中的$wgDBname变量值完全一致。还有,你需要在wiki中建立<title>所指定名称的页面。

示例:

require_once( "$IP/extensions/SpamBlacklist/SpamBlacklist.php" );
$wgSpamBlacklistFiles = array(
"$IP/extensions/SpamBlacklist/wikimedia_blacklist", // Wikimedia's list

// database    title
"DB: wikidb My_spam_blacklist",    
);

在上面的例子中,网址黑名单将有两个来源。一、网站SpamBlacklist目录下一个名为wikimedia_blacklist的服务器文件被调用; 二、名为My_spam_blacklist的wiki页面被调用。

这看起来很明显,但如果你希望在本地调用外部数据,应该做如下替换:

"$IP/extensions/SpamBlacklist/wikimedia_blacklist", // Wikimedia's list

换成类似于:

"http://meta.wikimedia.org/w/index.php?title=Spam_blacklist&action=raw&sb_ver=1" // Wikimedia's list

文件格式

简而言之:

  • "#"之后至行尾的所有内容被当作注释,不起作用
  • 所有非空行都是一个正则表达式的片段,这仅对wiki文本的URL部分进行匹配。

正则表达式的形式如下:

!http://[a-z0-9\-.]*(line 1|line 2|line 3|....)!Si

关于正则表达式的部分说明:

  • 不需要在网址名称之前增加写上www,扩展能够匹配所有的子域名字串
  • 注意不要让匹配模式字串跑飞,例如包含".*"的字串
  • 与类似系统不同,行尾的模式匹配符"$"不是指网址的结尾,而是指文章的结尾。

性能

这个扩展使用了一个小的"loader"文件,以避免每次页面浏览时加载所有代码。这意味着页面浏览性能不收任何影响,即便没有运行Turck MMCache之类的缓冲也没关系(当然,mediawiki系统强烈建议使用缓冲机制以提高效率)。

至于正则表达式的匹配,则会在页面保存时增加些微开销,经验数值为增加100ms。但是,从磁盘/数据库加载spam文件,构建正则表达式,会有比较显著的开销,这根硬件环境也有关。如果打开这个扩展后显著降低了保存性能,请尝试安装MemCached或其他数据缓存措施,这样SpamBlacklist扩展将会还春构建好的正则表达式。

稳定性

本扩展并未在Wikimedia之外广泛测试。尽管它从2004年12月就开始在Wikimedia网站上运作,但仍应该被视为试验版本。本设计极为简单,只有很少的输入规范性验证,因此,错误的正则表达式或非标准设置可能导致不可预料的运行结果。

获取或制作黑名单

主要的来源可以参见元维基的这个页面:

http://meta.wikimedia.org/wiki/Spam_blacklist

在默认配置下,本扩展将每10-15分钟重新调用一次黑名单数据。

Wikimedia的spam blacklist仅允许由可信赖的管理员进行编辑。

Wikimedia有着大量的各色wiki,包含无数的外部链接。因此Wikimedia的blacklist相对显得很保守。如果你期望增加更多的阻挡关键字甚至ccTLD阻挡,可以到下面提交修改建议:

http://meta.wikimedia.org/wiki/Talk:Spam_blacklist

在本地维护网址黑名单列表要简单些,你可以通过$wgSpamBlacklistFiles变量(见上文)进行指定,并在自己的站点上建立黑名单。这样做的同时,强烈建议保护该页面,以避免随意修改破坏。(这种潜在危险包括:有人输入一个匹配所有字串的表达式;正则表达式片段还可能为攻击者提供创建segfaults in the PCRE library的手段)

版权

本扩展及文档由Tim Starling撰写,版权不祥 and is ambiguously licensed.

原文参见: SpamBlacklist Documentation

MediaWiki扩展简明教程 Inputbox帮助文档 使用Spam黑名单 内容折叠隐藏 动态文章列表 指定图片链接
代码高亮处理 预置初始编辑文本 页面访问限制 所见即所得编辑器 QQ在线信息
交流:扩展使用 投票与评分 内容随机展示 wikitex 改进设想 ...更多
加入google地图和51地图标注功能 Ajax五颗星评分插件
mediawiki图标

MediaWiki是全球最著名和最流行的开源wiki程序,运行于PHP+MySQL环境。MediaWiki从2002年2月25日被维基百科全书选用,并有大量其他应用实例。

MediaWiki功能齐备,中文支持良好,且学习资源丰富,是建立wiki网站的首选后台程序。目前国内的天下维客等站点都采用这套系统。

MediaWiki的开发得到维基媒体基金会的支持,一直保值着持续更新。目前最新版本为1.12.x。

mediawiki知识


mediawiki建站

mediawiki资源

国外站需代理访问

→ 更多mediawiki资料  相关资源:wiki知识 wiki文摘  QQ群:22134343 / 3680101-wiki建站与应用 5903157-电脑使用

Personal tools
工具
金银币拍卖 金币拍卖预展  金银币网店 熊猫金银币 生肖金银币