美文网首页
script标签转义

script标签转义

作者: Trytodo_zbs | 来源:发表于2018-12-07 09:46 被阅读15次

    前言

    前端页面文本输入过程中输入<script></script>标签
    一般情况下是没有什么问题的,但是也有几种情况会出现问题

    1.输入框的文本被取值然后以拼装或者innerHTML的形式插入到界面

    这种情况script标签里的代码会执行,造成的后果未知(不过F12之后console面板本来就可以执行js,貌似防不住)
    如果script里面是js代码,那么界面上就不会显示(面对真的要填写这个文本内容的,不做处理可能根本就不显示)

    2.数据传到后端,在返回前端如果返回的方式不对,容易造成页面出现代码,或者干脆导致页面报错打不开

    这种情况我只在页面使用framemarker语法时看见过
    如果不注意根据情况使用?html ?js_string去转换
    html代码部分不转换会使界面出现代码,js部分不转换会使页面报错严重的额能白屏

    特定的地方使用对<script></script>进行处理可以避免这些问题
    var txt="<script>alert('1')</script>";
    txt=txt.replace(/<script|<\/script/ig,function(c){
        return "&lt;"+c.substring(1);
    });
    
    //返回结果
    "&lt;script>alert('1')&lt;/script>"
    

    将script标签中的<转换成&lt;这也是大多数框架的处理方式
    部分老式的jquery版的ui框架比较容易出现这个问题,该方法在easyui上测试表现正常,其他更多的地方待测

    相关文章

      网友评论

          本文标题:script标签转义

          本文链接:https://www.haomeiwen.com/subject/uqyvcqtx.html