Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 是否可以将event.origin操纵为正则表达式匹配?_Security_Cross Domain_Postmessage - Fatal编程技术网

Security 是否可以将event.origin操纵为正则表达式匹配?

Security 是否可以将event.origin操纵为正则表达式匹配?,security,cross-domain,postmessage,Security,Cross Domain,Postmessage,我认为这不是问题,但我想我会得到一些保证 我有一个使用postMessage的跨帧消息脚本。它在接收到消息时做的第一件事是检查其来源: if (indexOf(whiteList, event.origin) === -1){ return false; } 其中,白名单是一个可接受来源的数组,indexOf是一个非常简单的数组填充。indexOf: indexOf = (function() { if(typeof Array.prototype.indexOf === "f

我认为这不是问题,但我想我会得到一些保证

我有一个使用postMessage的跨帧消息脚本。它在接收到消息时做的第一件事是检查其来源:

if (indexOf(whiteList, event.origin) === -1){
    return false;
}
其中,
白名单
是一个可接受来源的数组,
indexOf
是一个非常简单的数组填充。indexOf:

indexOf = (function() {
    if(typeof Array.prototype.indexOf === "function") {
        return function(haystack, needle){
            return haystack.indexOf(needle);
        };
    }
    return function(haystack, needle) {
        var i, index = -1, l = haystack.length;
        for(i = 0; i < l; ++i) {
            if(haystack[i] === needle) {
                index = i;
                break;
            }
        }
        return index;
    };
})();
indexOf=(函数(){
if(typeof Array.prototype.indexOf==“函数”){
返回功能(草垛、打捆针){
返回草垛。索引(针);
};
}
返回功能(草垛、打捆针){
变量i,指数=-1,l=干草堆长度;
对于(i=0;i
我想知道如果event.origin是一个regex“字符串”,它们是否可以强制执行一个真实的条件。我不会在我的垫片中这样想:据我所知,
==
总是返回false,将字符串与/[a-zA-z]/g或类似的字符串进行比较,并且我无法在测试中使用regex欺骗本机
数组.indexOf()
函数(总是返回-1)

但我对安全和黑客不太了解。社区,你的想法