リッチテキスト コンテンツを介したクロスサイト スクリプティングを防止するセキュリティ パッチが 2021 年 8 月にリリースされて以来、私たちのプロジェクトで HTML コンテンツ要素の出力が突然変化したことに気付きました。一部のタグ属性とタグは、新しく導入されたHTML Sanitizert3://
によって削除されました (スタイル TypoLinks がレンダリングされるようにテンプレートが変更された場合)。
したがって、単にデフォルトのHtml.html
Fluid 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 を無効にする必要はありません。