问题标签 [htmlpurifier]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 从用户输入中删除 javascript 但仍允许使用 PHP 的 html?
我想允许用户将 html 写入表单字段但不包括 javascript。是否有简单的代码或库可以做到这一点?
我已经研究过使用 HTML Purifer,但我不太确定如何将其配置为以我正在寻找的方式运行。我想我必须指定我允许进入 HTML.allowed 的所有标签。我想我可以列出一个详尽的清单,但如果有更简单的方法,我宁愿这样做。
php - 仅允许 HTML 净化器中的类属性中的特定类
我知道我可以在HTML Purifier中设置允许的标签和最终属性,例如:
$cfg->set('HTML.Allowed', 'a[href|title],'b','em','i','strike');
但是我怎样才能禁止任何与某些预定义值不匹配的属性值?
例如,我可能希望允许 div + class 标签:
$cfg->set('HTML.Allowed', 'div[class],a[href|title],'b','em','i','strike');
但前提是类是 abc、def 或 xyz
php - HTML 净化器中的新标签
<strike>
对于,<del>
和<datetime>
标签,我收到这样的警告:
警告:不支持元素“罢工”(有关实施此功能的信息,请参阅支持论坛)...
不支持元素“del”中的属性“datetime”(有关实现此功能的信息,请参阅支持论坛)
那么我该如何实现它们呢?
或者我究竟要在他们的论坛中查看哪里?
php - 网站被黑用户名、附加信息和密码更改问题?
我想知道什么可以允许用户入侵我的网站,他们更改了我的用户名、个人信息和密码。有人可以给我一些关于它可能是什么的建议。我正在使用 PHP MySQL 和 HTMLPURIFIER。
这是登录脚本。
html-email - 网络邮件:HTML 标头
HTML 电子邮件是一个复杂的野兽。决定发送什么(作为发送者)和显示什么(作为接收者)是很棘手的并且有潜在的危险。
在收件人方面,我们有网络邮件,我们有常规的电子邮件客户端。出于我的目的,我认为“webmail”任何显示 HTML 电子邮件的东西本身就是 HTML 的一部分,而常规电子邮件客户端则认为任何在不同上下文中显示 HTML 电子邮件的东西(例如操作系统和程序特定的 GUI)。
webmail 应该如何处理电子邮件中的 HTML 标头 ( <head>
, <title>
, <meta>
, ...)?
某处是否有规范,是作为实际标准还是事实上的标准?
我问的动机是我们使用HTML Purifier来清理我们的 HTML,如果它的Core.CollectErrors功能报告发生变化,它们就会被报告。这种“报告”既是必要的……又是令人沮丧的。我们删除了一些报告的错误,认为它们对我们的目的无关紧要,但 HTML 标头标志着一个巨大的障碍:
有人可能会<link>
在他们的电子邮件中使用,我们会将其删除。(HTML Purifier 用于 HTML片段,而不是完整文档)
<link>
使用HTML 电子邮件之类的东西的愿望似乎确实存在,并且有很多电子邮件客户端<meta>
在 HTML 标头中发送 -tags(例如 Outlook),但是在野外是如何处理的呢?默默地将它们剥离出来(对于我们的目的而言,这表示“非破坏性更改”)并在发送方发生破坏时将责任归咎于发送方是否安全?这合理吗?有人曾经以一种或另一种方式决定过吗?我的 google-fu 很弱。:(
php - 如何使用 HTML Purifier 允许 href='javascript:myFunc()'?
我有一些我在本地编写的 HTML,并希望通过 HTML 净化器运行它。它完全由我生成,所以我知道没有 XSS 漏洞。我正在尝试通过净化器运行它,但是无论我尝试什么,都会解析出 href='javascript:myFunc()' 。
我目前的设置是:
这根本不起作用 - 所有的 javascript 都被删除了。
我查看了所有各种 HTML Purifier 配置设置,但找不到我需要的。有答案吗?
提前致谢
php - 符合 HTML5 的 HTML 过滤器
是否有一种简单的方法可以为 HTMLPurifier 添加 HTML5 规则集?
HP 可以配置为通过以下方式识别新标签:
然而,这显然是一项工作。因为有很多新的 HTML5 标签和属性需要注册。即使与现有的 HTML 4 标记,新的全局属性也应该可以组合。(很难从文档中判断如何增加核心规则)。那么,是否有更有用的配置格式/数组结构来将新的和更新的标签+属性+上下文配置(内联/块/空/流/..)提供给 HTMLPurifier?
当然,并非所有新的 HTML5 标签都适合无限制的使用。HTMLPurifier 是关于内容过滤的。定义价值约束就是它的所在。——<canvas>
例如,当它出现在用户内容中时,它可能没什么大不了的。因为如果没有 Javascript(HP 已经过滤掉了),它充其量是没用的。但是其他标签和属性可能是不可取的;因此,灵活的配置结构对于启用/禁用标签及其相关属性是必不可少的。
(我想我应该更新一些研究......)。但是仍然没有适合 HP 配置的实用纲要/规范(不,XML DTD 不是)。
- http://simon.html5.org/html-elements
- http://www.w3.org/TR/html5-diff/#new-elements
- http://www.w3.org/TR/html5-diff/#new-attributes
(嗯,HTML5 不再是草稿。)
security - HTML Purifier 设置 - 在允许富文本时遇到问题,只需要安全方面
我正在尝试根据我的需要设置 HTMLPurifier。我已经启动并运行了它,但它直接从盒子里剥离了所有格式。我尝试深入研究文档,但这是一个令人沮丧的练习。是否有一个简单的配置选项,只实现程序的安全方面并允许通过所有富文本样式等。我不完全确定 YUI RTE 如何标记其样式的输出,所以只需通过并创建白名单可能会非常耗时,并且涉及阅读净化器文档和 YUI 文档——所有这些都是为了一个简单的任务。任何人都对这种事情有任何预制配置,或者至少在正确的方向上有一点?谢谢。
security - HTMLPurifier - 在允许 YUI 富文本编辑器样式时遇到问题
我有一个 YUI 富文本编辑器的简单实现,它允许字体、字体大小、粗体、下划线、斜体、删除线、背景颜色、文本颜色、有序和无序列表、img 和链接按钮 - 但 HTMLPurifier 在“out of盒子”只允许通过某些功能。它允许粗体、斜体、有序列表和无序列表以及链接——没有其他东西。有人可以向我指出 HTMLPurifier 的配置方向,以允许这些事情并尽可能保持最大的安全性吗?我试过深入研究文档,但那是 - 好吧,我们只是说它不是世界上最具体的文档。昨晚我得到了帮助,指出我要更改魔术引号,但这最终不是问题。谢谢你的帮助。