当前位置:  开发笔记 > 编程语言 > 正文

如何使用转义来防止XSS攻击?

如何解决《如何使用转义来防止XSS攻击?》经验,为你挑选了1个好方法。

XSS是"跨站点脚本"的缩写.当您设法将脚本(通常是javascript)潜入其他人的网站时,会发生跨站点脚本攻击,在该网站上可以恶意运行.

当用户输入网站时,可以使用XSS.例如,如果我填写了一个网页表格,并且它要求我提供我的姓名,我可以进入My name is .如果我提交表单,然后在下一页上它要求我确认我的详细信息并重新输出我输入的内容,我输入的令人讨厌的HTML标记将被呈现,脚本将被浏览器下载并运行.

为了防止这种情况,您需要转义用户输入.转义意味着您转换(或标记)数据的关键字符,以防止在危险的上下文中解释它.在HTML输出的情况下,您需要转换<>字符(以及其他),以防止任何恶意的HTML呈现.转义这些字符包括把他们变成自己的实体等价物<>(见PHP的用htmlspecialchars()函数),这将不会被浏览器解释为HTML标签.

Symfony试图告诉您的是,它有能力自动为您的输出执行此操作,并且该功能已启用.



1> zombat..:

XSS是"跨站点脚本"的缩写.当您设法将脚本(通常是javascript)潜入其他人的网站时,会发生跨站点脚本攻击,在该网站上可以恶意运行.

当用户输入网站时,可以使用XSS.例如,如果我填写了一个网页表格,并且它要求我提供我的姓名,我可以进入My name is .如果我提交表单,然后在下一页上它要求我确认我的详细信息并重新输出我输入的内容,我输入的令人讨厌的HTML标记将被呈现,脚本将被浏览器下载并运行.

为了防止这种情况,您需要转义用户输入.转义意味着您转换(或标记)数据的关键字符,以防止在危险的上下文中解释它.在HTML输出的情况下,您需要转换<>字符(以及其他),以防止任何恶意的HTML呈现.转义这些字符包括把他们变成自己的实体等价物<>(见PHP的用htmlspecialchars()函数),这将不会被浏览器解释为HTML标签.

Symfony试图告诉您的是,它有能力自动为您的输出执行此操作,并且该功能已启用.


还请注意转义取决于上下文.请参阅http://www.owasp.org/index.php/XSS_%28Cross_Site_Scripting%29_Prevention_Cheat_Sheet,尤其是XSS预防规则
推荐阅读
勤奋的瞌睡猪_715
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有