Typo3 - 自己的视图助手在 T3 V8 中转义 HTML



我有一个视图助手,它在Typo3 V7.x中运行良好,但在V8.x中,它的输出不再是纯html,而是html编码的。

简化的视图助手类:

namespace MyNameTeaserboxViewHelpers;
class TeaserboxViewHelper extends TYPO3CMSFluidCoreViewHelperAbstractViewHelper {
public function render ( $html = null ) {
return "<div><h2>$html</h2></div>"
}
}

简化的 HTML:

<m:teaserbox><f:cObject typoscriptObjectPath="lib.someHTML"></f:cObject></m:teaserbox>

输出类似于:

&lt;div&gt;&lt;h2&gt;TEST&lt;/h2&gt;&lt;/div&gt;

可以通过向 ViewHelper 添加protected $escapeOutput = false;来关闭转义。

namespace MyNameTeaserboxViewHelpers;
class TeaserboxViewHelper extends TYPO3CMSFluidCoreViewHelperAbstractViewHelper {
protected $escapeOutput = false;
public function render ( $html = null ) {
return "<div><h2>$html</h2></div>"
}
}

这样做,您必须意识到,您需要自己清理用户输入以防止XSS。

最新更新