奇怪的javascript XSS错误

时间:2011-04-11 19:59:25

标签: javascript html xss communication

我正在设计一种在iframe之间进行通信的简单方法,即使两个网址都有保存域,我也会收到奇怪的XSS错误。

Unsafe JavaScript attempt to access frame with URL file:///home/bryre/sharedData/Programs/javascript/pong/htdocs/connectionWindow.html from frame with URL file:///home/bryre/sharedData/Programs/javascript/pong/htdocs/connectionTest.html. Domains, protocols and ports must match.

我是否需要将它们放在服务器上才能使其正常工作?这是代码:

ConnectionTest.html

<html>
<head>
    <title>connectionTest</title>
    <script src='connection.js'></script>
</head>
<body>
    <script>
        var windowToConnectTo = document.createElement('iframe')
        windowToConnectTo.src = 'connectionWindow.html'
        document.body.appendChild(windowToConnectTo)

        var connection = new Connection({});
        connection.connect(windowToConnectTo, 10);
    </script>
</body>

ConnectionWindow.html

<html>
<head>
    <title>connectionTest</title>
    <script src='connection.js'></script>
</head>
<body>
    <script>
        var connection = new Connection({});
    </script>
</body>

connection.js

function Connection(commands){
this.inDiv = document.createElement('div')
this.inDiv.id = 'in'
this.inDiv.style.disply = 'none'
document.body.appendChild(this.inDiv)

this.commands = commands
}

Connection.prototype = {
attemptConnect: function(to){
    to.document = (to.contentWindow || to.contentDocument)
    if(to.document.document)
        to.document = to.document.document
    this.to = to.document.getElementById('in') //ERROR HAPPENS HERE
    if(this.to == null)
        return false
    return true
},
connect: function(to, retryRate){
    cThis = this
    var interval = setInterval(function(){
        if(cThis.attemptConnect(to))
            clearInterval(interval)
    }, retryRate)
}
}

1 个答案:

答案 0 :(得分:4)

他们没有任何域名,他们是本地文件。使用HTTP服务器访问它们。