3.6 其他
规则4.7.4:使用.innerHtml时,如果只是要显示文本内容,必须在innerHTML取得内容后,再用正则表达式去除HTML标签,以预防跨站脚本。
说明:使用.innerHtml会将内容以HTML显示,容易被利用,导致跨站脚本。
实施指导:
<a href="javascript:alert(document.getElementById('test').innerHTML.replace(/<.+?>/gim,''))">无HTML,符合W3C标准</a>
备注:还可以使用.innerText代替.innerHtml,.innerText只显示文本内容不显示HTML标签,但.innerText不是W3C标准的属性,不能适用于所有浏览器(但适用于IE浏览器)。
规则4.7.5:禁止使用eval()函数来处理用户提交的字符串。
说明:eval()函数存在安全隐患,该函数可以把输入的字符串当作JavaScript表达式执行,容易被恶意用户利用。
web安全10
本文详细阐述了在编程中使用.innerHtml时的安全风险,包括如何通过正则表达式去除HTML标签以防止跨站脚本攻击,并强调了禁用eval()函数的重要性,以保护网站免受恶意代码注入。

被折叠的 条评论
为什么被折叠?



