web安全10

本文详细阐述了在编程中使用.innerHtml时的安全风险,包括如何通过正则表达式去除HTML标签以防止跨站脚本攻击,并强调了禁用eval()函数的重要性,以保护网站免受恶意代码注入。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值