1

リッチテキスト コンテンツを介したクロスサイト スクリプティングを防止するセキュリティ パッチが 2021 年 8 月にリリースされて以来、私たちのプロジェクトで HTML コンテンツ要素の出力が突然変化したことに気付きました。一部のタグ属性とタグは、新しく導入されたHTML Sanitizert3://によって削除されました (スタイル TypoLinks がレンダリングされるようにテンプレートが変更された場合)。

したがって、単にデフォルトのHtml.htmlFluid Templateをオーバーライドし、次の例のように を変更し<f:format.raw><f:format.html>html デコードを追加するだけでは、もはや十分ではありません。

<f:section name="Main">
    <f:comment> We use this to render links and other stuff in html elements </f:comment>
    <f:format.htmlentitiesDecode>
        <f:format.html parseFuncTSPath="lib.parseFunc">
            {data.bodytext}
        </f:format.html>
    </f:format.htmlentitiesDecode>
</f:section>

HTML コンテンツ要素によって提供される HTML コード出力の変更を防止する最も簡単な方法はlib.parseFunc.htmlSanitize = 0、TypoScript 構成に追加することによってサニタイザーをグローバルに無効にすることですが、これは理想的ではありません。

parseFunc.htmlSanitizeこの目的でのみを無効にするにはどうすればよいですか?

または、HTML コンテンツ要素内で TypoLinks をレンダリングする別のソリューションはありますか?

注:Html.htmlテンプレートをオーバーライドしない場合は、HTML Sanitizer を無効にする必要はありません。

4

1 に答える 1