mar*_*kus 3 security zend-framework escaping view
在Zend框架手册说以下内容:
60.3.1.逃避输出
在视图脚本中执行的最重要任务之一是确保输出正确转义; 除此之外,这有助于避免跨站点脚本攻击.除非您使用的是自行转义的函数,方法或帮助程序,否则在输出变量时应始终转义变量.
为什么'总是'?为什么我必须转义未被用户输入创建或更改的变量?
用户不是输出中唯一的狡猾字符串来源.例如,考虑一个来自数据库的明显安全的字符串"Romeo&Juliet".你说没有跨站点脚本吗?真的够了.但是,将它粘贴在网页中,原始的&符号可能会导致验证,解析等一些有趣的问题.
输出转义不仅仅是为了防止恶意或意外的输入,它确保输出被彻底清理并被视为在周围的输出格式中没有特殊含义,无论是HTML,XML,JSON还是其他任何格式.