安全 · 第 8 题,共 12 题

访问者输入 <script>alert(1)</script> 作为姓名,Fluid 模板用 {name} 输出它。会发生什么?

有 1 个正确答案。 简单

显示答案

答案

  • C 该文本会以可见形式出现在页面上,因为 Fluid 会转义尖括号

解析

Fluid 在输出时会自动用 htmlspecialchars() 转义 {name} 等变量:<script> 变为 &lt;script&gt;,浏览器把这些字符作为文本显示,而不会解释为 HTML。这种自动转义是 TYPO3 模板中防御 跨站脚本(XSS) 最重要的保护措施。如果用 <f:format.raw> 或 {name -> f:format.raw()} 输出该值,这种保护就不再生效,对于用户输入绝不应这样做。Fluid 既不会删除内容,也不会抛出错误;值被保留下来,只是变得无害。

认证与考试

下一个考试是什么?

已有 19 项考试可以练习,21 项正在投票中。查看所有认证及官方信息,投出你的一票,或推荐你的考试。

查看全部认证