【问题标题】:Preventing all html tags in HTMLPurifier防止 HTMLPurifier 中的所有 html 标签
【发布时间】:2013-08-17 17:56:11
【问题描述】:

如何设置 HTML.ForbiddenElements 的值,使其不允许输入任何 HTML 标签。

【问题讨论】:

    标签: htmlpurifier


    【解决方案1】:

    如果你想用 HTML Purifier 禁止 一切,最简单的方法应该是用白名单 HTML.Allowed 设置一个空,而不是尝试一个彻底的黑名单。 (一般来说,我建议远离黑名单方法,除非你真的别无选择 - 有了黑名单,总有机会错过一些东西。)

    但是

    HTML Purifier 是一个专门为您允许 HTML 提供帮助的工具。如果您不这样做,很可能只是计算开销,并没有为您带来好处。

    对比:

    也许尝试htmlspecialchars(strip_tags(...), ENT_QUOTES, 'your-encoding-goes-here') 代替?对于您要实现的目标,这应该更快且同样安全。

    【讨论】:

    • 我使用 $this->title = strip_tags($this->title); 作为标题,使用 HTMLPurifier 作为描述。我正确地使用了 strip_tags?还是必须从 htmlspecialchars 使用?
    • @msoa:一般来说,您应该使用htmlspecialchars(strip_tags()),因为单独使用strip_tags() 并不安全。这意味着如果有人真的想入侵您的网站,他们可以绕过strip_tags()。当然,如果您的 $this->title 在输出之前已经被 html 转义,那么您不必在那里(实际上也不应该这样做),但如果不了解您的设置,我不能建议。祝你好运! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多