你说的是 防止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#)