入参字符串过滤
部分Xss攻击是携带在请求中进入后台的,因此可以在请求入参中进行过滤,移除一些特殊字符和标签信息
function fixURLRule(params) {
if(typeof params !== 'string') {
console.log('fixURLRule params not String')
return
}
var url = params.toLocaleLowerCase()
var xssStr = ['<', '>', 'alert', 'script', 'prompt']
var base64Str = xssStr.map(item => window.btoa(item))
xssStr = xssStr.concat(base64Str)
url = encodeURIComponent(decodeURIComponent(url))
xssStr.forEach(xssKey => {
var regexp = new RegExp(`${xssKey}`, 'gim')
url = url.replace(regexp, '')
})
url = decodeURIComponent(url)
return url
}