我正在浏览Twitter Bootstrap关于工具提示的文档。据说如果您担心XSS攻击,不要在工具提示中设置data-html=true
。
data-html=true
的作用是允许您在元素的title
属性中编写HTML。
我对XSS攻击一无所知。我尝试在维基百科上阅读它,但这没有多大帮助。
你能解释一下:
答案 0 :(得分:9)
XSS意味着跨站点脚本,因此XSS攻击通常涉及将代码(例如JS)注入到站点中,然后该站点与另一个站点/服务器通信或初始化恶意代码。
1)这会引发安全问题,因为除非data-html
设置为true
,否则工具提示中的任何HTML都将被转义/显示为文本而不会被解析。如果设置为true
,则内容将被解析为HTML。这意味着如果您在此处显示的用户输入变量未正确清理,则可能会注入恶意HTML代码,例如启动XSS攻击的javascript。
2)只需确保您在工具提示中输出的所有内容都是安全的。例如,如果您让用户输入工具提示中显示的有关自己的信息,请确保在工具提示中输出之前对其进行了正确的清理。