1.5.1【必須】使用安全的前端跨域通信方式
document.domain
降域,實(shí)現(xiàn)前端跨域通訊,應(yīng)使用postMessage替代。1.5.2【必須】使用postMessage應(yīng)限定Origin
event.origin
校驗(yàn)來(lái)源,再執(zhí)行具體操作。===
判斷,禁止使用indexOf()
// bad: 使用indexOf校驗(yàn)Origin值
window.addEventListener("message", (e) => {
if (~e.origin.indexOf("https://a.qq.com")) {
// ...
} else {
// ...
}
});
// good: 使用postMessage時(shí),限定Origin,且使用===判斷
window.addEventListener("message", (e) => {
if (e.origin === "https://a.qq.com") {
// ...
}
});
更多建議: