XSS是"跨站点脚本"的缩写.当您设法将脚本(通常是javascript)潜入其他人的网站时,会发生跨站点脚本攻击,在该网站上可以恶意运行.
当用户输入网站时,可以使用XSS.例如,如果我填写了一个网页表格,并且它要求我提供我的姓名,我可以进入My name is
.如果我提交表单,然后在下一页上它要求我确认我的详细信息并重新输出我输入的内容,我输入的令人讨厌的HTML标记将被呈现,脚本将被浏览器下载并运行.
为了防止这种情况,您需要转义用户输入.转义意味着您转换(或标记)数据的关键字符,以防止在危险的上下文中解释它.在HTML输出的情况下,您需要转换<
和>
字符(以及其他),以防止任何恶意的HTML呈现.转义这些字符包括把他们变成自己的实体等价物<
和>
(见PHP的用htmlspecialchars()函数),这将不会被浏览器解释为HTML标签.
Symfony试图告诉您的是,它有能力自动为您的输出执行此操作,并且该功能已启用.
XSS是"跨站点脚本"的缩写.当您设法将脚本(通常是javascript)潜入其他人的网站时,会发生跨站点脚本攻击,在该网站上可以恶意运行.
当用户输入网站时,可以使用XSS.例如,如果我填写了一个网页表格,并且它要求我提供我的姓名,我可以进入My name is
.如果我提交表单,然后在下一页上它要求我确认我的详细信息并重新输出我输入的内容,我输入的令人讨厌的HTML标记将被呈现,脚本将被浏览器下载并运行.
为了防止这种情况,您需要转义用户输入.转义意味着您转换(或标记)数据的关键字符,以防止在危险的上下文中解释它.在HTML输出的情况下,您需要转换<
和>
字符(以及其他),以防止任何恶意的HTML呈现.转义这些字符包括把他们变成自己的实体等价物<
和>
(见PHP的用htmlspecialchars()函数),这将不会被浏览器解释为HTML标签.
Symfony试图告诉您的是,它有能力自动为您的输出执行此操作,并且该功能已启用.