web安全10

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表达式执行,容易被恶意用户利用。

猜你喜欢

转载自xiaoyuwei.iteye.com/blog/1159080