- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
HTMLPurifier 默认允许很多我不想允许的标签。根据文档,您必须添加如下定义:
$config = HTMLPurifier_Config::createDefault();
if ($def = $config->maybeGetRawHTMLDefinition()) {
$def->addAttribute('a', 'target', new HTMLPurifier_AttrDef_Enum(array('_blank','_self','_target','_top')));
}
$purifier = new HTMLPurifier($config);
问题是我找不到删除所有来自 HTMLPurifier_Config::createDefault();
的标签的方法.
例如 HTML <div>Sometext</div>
将使用上述初始化代码保留 DIV 标签。
如何将 HTMLPurifier 设置为仅允许 <strong>
, <a href="*">
和 <p>
?
最佳答案
您说:“根据文档,您必须添加这样的定义”。
除非自从我上次检查库(大约一年前)以来发生了一些根本性的变化,否则这并不完全正确 - 如果您想教授 HTML Purifier 新 属性,那部分存在它本身并不知道。例如,如果您想教您的 HTML 净化器接受非标准的 <font>
属性,例如 align=""
,您需要更改原始 HTML 定义。
但是,如果您的白名单完全由常规 HTML 元素组成(您的也是如此!),您只需要使用 $config
对象:
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.AllowedElements', array(
'strong','a','p'
));
$config->set('HTML.AllowedAttributes', array(
'a.href'
));
$purifier = new HTMLPurifier($config);
那应该行得通。你遇到那个星座的问题了吗?
(也请查看此文档:http://htmlpurifier.org/live/INSTALL)
关于htmlpurifier - 获取 HTMLPurifier 4.5 以仅允许一个标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17213873/
HTMLPurifier 默认允许很多我不想允许的标签。根据文档,您必须添加如下定义: $config = HTMLPurifier_Config::createDefault(); if ($def
两个问题: 我一直在阅读文档和 SO 帖子.. 并且知道如何从长远来看(自己定义每个元素和属性),但我只想将 2 或 3 个属性添加到默认白名单。 . 这样我就不必不断地查找和添加更多元素/属性,例如
有谁知道我应该如何配置 HtmlPurifier 以忽略 标记中的内容?目前我有这样的东西: require_once('HTMLPurifier.auto.php'); $config = HT
我需要允许我的用户输入居中文本而不是让 htmlpurifier 将其删除的代码。 谢谢! 最佳答案 从您的(?)HTML Purifier thread 中获取了一半的答案: $config = H
我如何在 HTMLPurifier 中允许“类”?我正在尝试净化它: Blah 我得到: Blah 为什么类消失了?我正在使用下一个配置: $config->set('Attr.EnableID
如何在 HtmlPurifier 中允许自定义(html5 数据-*)属性? 输入: 导致错误: Attribute 'data-type' in element 'img' not support
好吧,现在我也在每个页面上都包含了下面的代码,每次我把下面的代码放在一个新的网页上时,我也会更改下面的代码。有没有一种方法可以一次包含所有这些代码并让它影响每个网页并让代码正常工作? 这是我必须一直更
HTMLPurifier删除样式标签时遇到问题。这是我使用的(测试)配置: $config = HTMLPurifier_Config::createDefault(); $config->set('
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
htmlpurifier 删除不允许值的属性。例如; 我为contenteditable属性设置了div标签的权限,所以值只能是false。但如果 contenteditable="true" 或
我正在尝试为我的所有 span 允许一些 data-attribute 和 htmlPurifier 但没办法... 我有这个字符串: My Name
我正在尝试对来自 WYSIWYG(CK 编辑器)的用户输入运行 HTMLPurifier,但图像已损坏。 未过滤的输入: 使用默认设置运行净化器后: 我试过更改配置设置;但我永远不会保留 src。
更新 2:http://htmlpurifier.org/phorum/read.php?3,5088,5113作者已经确定了问题。 更新:问题似乎是版本 4.2.0 独有的。我已经降级到 4.1.0
我看到 Kohana 框架允许用户选择使用 HTMLPurifier防止任何可能的 XSS 攻击。 我认为 HTMLPurifier 旨在允许符合标准的 HTML 输出。 它是否有助于 100% 或可
HTMLPurifier插件的使用 下载HTMLPurifier插件 HTMLPurifier插件有用的部分是 library 使用HTMLPurifier library类库 第一种方式
我想在 HTMLPurifier 中使用 和 标签以及一些自定义标签(例如 , )。我用了 $config->set('HTML.Allowed','audio, video'); 添加这些标签但收到
我只想在 span 元素在 htmlpurifier 中有某个类时才允许它 有没有人知道怎么做,现在我有 $config->set('HTML.Allowed','a[href],p,ol,li,
我正在使用 htmlPurifier 来防止来自用户的 XSS 攻击,并且在输入 type="text"字段上一切正常。但是,当我尝试清理 tinyMCE 文本区域时,htmlPurifier 似乎不
当我输入特殊字符 ☣到我的 mysql 数据库中,当存储在数据库中时,它会变成 ☣ ,当我尝试显示数据库中的结果时,它会显示为 â�£ ,而它应该显示为☣我该如何解决这个问题? 最佳答案 在提交命令之
我要限制 HTMLPurifier 只接受一些特定的 HTML 标签。 有效标签列表: 我阅读了 Configuration Documentation 和 HTML Allowed Elem
我是一名优秀的程序员,十分优秀!