【问题标题】:Is there some way to make Twig stop sanitizing HTML URL links?有什么方法可以让 Twig 停止清理 HTML URL 链接?
【发布时间】:2018-02-11 11:41:20
【问题描述】:

Twig 在清理危险的用户输入方面做得很好。但是,我正在构建一个特定的 Web 应用程序,我希望允许用户在公共 cmets 中发布可点击的 URL 链接。有什么方法可以让 Twig 清理 URL 链接,但仍然清理其他所有内容?

【问题讨论】:

    标签: twig sanitization html-sanitizing twig-filter


    【解决方案1】:

    您可以使用raw filter 来防止 HTML 被转义:

    {{ some_html|raw }}
    

    或者更好的选择是将其与striptags filter 和白名单<a> 标签一起使用:

    {{ some_html|striptags('<a>')|raw }}
    

    Twig 在内部使用PHP strip_tags function。请注意,它的文档有这个警告:

    警告

    此功能不会修改您允许使用allowable_tags 的标签上的任何属性,包括恶作剧用户在发布文本时可能滥用的 styleonmouseover 属性将显示给其他用户。

    See TwigFiddle.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      • 2022-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多