js脚本注入

JavaScript016

js脚本注入,第1张

你说的是  防止xss脚本注入攻击吧。要么选择后端直接过滤掉这种类似的<script>alert()</script>字符串,但是这对客户而言又不太友好。我用的最直接的方法,取得这样的数据在前端显示的时候用

var a = "<xmp>"+"<script>alert()</script>"+"</xmp>"

再把a加到你要展示的地方,浏览器就不会识别它成js代码去执行了。

仅做参考,按你的实际情况做选择吧

export  const createScript = (result,type,pos) =>{

        var positions = pos? document.getElementsByTagName('head')[0] :document.getElementsByTagName('body')[0]

        var script = document.createElement('script')

        script.type = 'text/javascript'

        if (type === 'url') {

            script.src = result

        } else {            

            script.innerHTML = result

        }

        positions.appendChild(script)

    }

let scriptCode = `

            function fns(){

                alert("原生js动态注入脚本内容")

            }

            fns()

createScript(scriptCode)          

JavaScript注入就是在浏览器地址栏中输入一段js代码,用来改变页面js变量、页面标签的内容。

使用Javascript注入,用户不需要关闭或保存网页就可以改变其内容,这是在浏览器的地址栏上完成的。命令的语法如下:

javascript:alert(#command#)