HTML转义及防止JavaScript注入攻击

2024-01-16 0 876

正文:

有时候网页中会有一个输入框,用户输入内容后会显示在页面中,类似于网页聊天应用。如果用户输入了一段 js脚本,比如:< script>alert(‘test’);< /script>,页面会弹出一个对话框,或者输入的脚本中有改变页面 js变量的代码,则会导致程序异常或者绕过某种验证。那么如何防止这种恶意的 js 脚本攻击呢?可以通过html转义来解决这个问题。

一:什么是 html 转义?

html 转义是将特殊字符或 html 标签转换为与之对应的字符。比如:<会转义为<,>会转义为>。像“< script>alert(‘&test’);< /script>”这段字符会转义为:“<script>alert(‘&test’);</script>”。再显示时,页面会将<解析为<,>解析为>,从而还原了用户的真实输入。最终显示在页面上的还是“< script>alert(‘&test’);< /script>”,既避免了 js 注入攻击,又真实地显示了用户输入。

二:如何转义?

1、通过 js 实现


//转义  元素的 innerHTML 内容即为转义后的字符
function htmlEncode ( str ) {
  var ele = document.createElement('span');
  ele.appendChild( document.createTextNode( str ) );
  return ele.innerHTML;
}
//解析 
function htmlDecode ( str ) {
  var ele = document.createElement('span');
  ele.innerHTML = str;
  return ele.textContent;
}

2、通过jquery实现


/*对 html 标签进行转义*/
        function htmlEncode(value){   //value 为输入的值
            return $('<span/>').text(value).html();     //.这里的 span 标签没啥含义,换着其他标签也可以,div,p a 都行
        }
         /*对 html 标签进行反转义*/
        function htmlDecode(value){  
            return $('<span/>').html(value).text();     
        }
收藏 (0)

微信扫一扫

支付宝扫一扫

点赞 (0)

免责声明

本资源仅限个人学习与研究使用,严禁用于任何商业用途!

1 网站名称:汇站网
2 永久网址:https://www.huizhanii.com
3 本站资源来源于网友投稿和付费购买,仅供编程人员及源代码爱好者下载参考与研究,不提供任何技术支持服务!
4 资源展示图片及相关信息仅供参考,不代表本站立场!本站仅作为信息存储平台
5 禁止在服务器和虚拟机上搭建运营,所有资源仅限本地调试与研究使用,不支持联网运行!
6 未经版权方授权,严禁用于商业用途。使用者如违反国家法律法规,需自行承担全部法律责任!
7 请在下载后24小时内删除!建议支持正版授权作品
8 如资源侵犯您的合法权益,请提供版权证明及相关作品信息发送至邮箱:972908224@qq.com,我们将及时处理
9 如遇下载链接失效或支付未到账,请联系站长处理
10 欢迎投稿优质源码或教程,审核通过后将获得相应奖励
11 资源收费仅用于维持网站正常运营
12 数字商品具有特殊性质,一经购买概不退款

汇站网 技术分享 HTML转义及防止JavaScript注入攻击 https://www.huizhanii.com/34423.html

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

联系官方客服

为您解决烦忧 - 24小时在线 专业服务