手册:$wgRawHtml
HTML: $wgRawHtml | |
---|---|
允许未经检查的原始HTML放在<html>...</html> 里。 |
|
引进版本: | 1.3.4 |
移除版本: | 仍在使用 |
允许的值: | (布尔值) |
默认值: | false |
其他设置: 按首字母排序 | 按功能排序 |
详情
向 MediaWiki 路径中的 LocalSettings.php 文件加入 $wgRawHtml = true;
,wiki 就会允许插入未经检查的原始 HTML。
但是,您必须在<html>...</html>
标记中嵌入html,这样MediaWiki才能区分它。
这个选项不会影响
<html>...</html>
标签之外的wiki代码如何被处理。如果你开启了$wgRawHtml并且发现有些HTML被去除,你可能需要关闭$wgUseTidy 。
MediaWiki版本: | ≥ 1.29 |
自MediaWiki 1.29起,原始HTML标签在8号命名空间(MediaWiki)不再起作用:phabricator:T156184。
启用原始HTML是必要的吗?
有些HTML标签在wikitext中是允许的,即便有$wgRawHtml = false
。
参见m:帮助:Wikitext中的HTML。
Wikimedia网站上能看到的绝大多数花哨排版都是利用这些有限的标签实现的(例如带CSS的表格)。
如果你能在限制下凑合着用(保持$wgRawHtml = false
),你的wiki会更安全。
另外注意这些“有限的”wiki语法实际上是对wiki的一种刻意设计的特性。 它是个小型、简化的标记语法,非技术型用户能轻易理解,在差异查看中能轻松可视化,并且能劝阻样式方面的小修小补,以让用户更注重编写有用/有意思的文本。
相关扩展
有许多扩展能在提升安全状况的同时允许更多的HTML灵活度。
有些扩展需要设置$wgRawHtml = true
以协同使用,而其它的提供了一种替代方法。
- HTML限制 - list of extensions that allow for the inclusion of raw HTML
- Extension:SaferHTMLTag – 仅允许管理员和特定用户组编辑含有
<html>
标签的页面。 - Extension:NamespaceHTML - 在特定命名空间中允许HTML。
- Extension:Secure HTML – 为HTML章节添加“密钥”保护。
- Extension:HTMLets – 允许在
$wgRawHtml = false
的情况下使用预定义的HTML片段。 - Extension:微件 – 允许 HTML 和 Smarty PHP 模板,表面上以“微件”的形式,但实际上也可以做任何其它的事情。
在你的wiki文章中使用自定义HTML的另一种方法是开发你自己的标签扩展。
不要试图开发允许任意HTML的扩展,否则会产生与设置$wgRawHtml = true
的情况下同样的严重安全问题。