我们使用checkmarx运行安全性分析,在下面的函数checkmarx中突出显示location.hash,它表示Client_DOM_XSS的严重性。
如何正确清理 location.hash 以防止以下情况中的攻击
function getParameterByName(name) {
name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
results = regex.exec(**location.hash**);
return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}
var ec = getParameterByName('errCode');
var en = getParameterByName('errorName');
var em = getParameterByName('errorMessage');
var el = document.getElementsByClassName("txtErrMsg");
var msg = (ec == '' ? '' : ec + ' | ') + (en == '' ? '' : en + ' | ') + (em == '' ? '' : em + ' | ');
if(msg.length > 3){
msg = msg.substring(0, msg.length - 3);
}
el[0].innerHTML = msg;
el[1].innerHTML = msg;
提供此问题的任何参考/解决方案