0

私はjspページを持っています。3つのiフレームがあります。クロス フレーム スクリプティングの問題が発生しました。他のドメインから i-frame の 1 つにページを読み込むことができました。この問題を克服する方法を教えてください。次のコードを試しました:

             <style>
                html{display : none ; }
            </style>
            <script>
                if( self == top ) {
                    document.documentElement.style.display = 'block' ;
                } else {
                    top.location = self.location ;
                }


            </script>

また、ヘッダー「X-FRAME-OPTIONS」、SAMEORIGINを追加するフィルターを試しました

どちらも機能していません。

4

2 に答える 2

0

iframe に読み込まれた別のオリジンからの html ページの場合、そのページのウィンドウやその他のオブジェクトにアクセスすることはできません。

異なるオリジンから iframe にロードされた html ページ間の通信には、「postMessage」関数を使用する必要があります。詳細と例 google postMessage in javascript については、チュートリアルがたくさんあります。

于 2012-05-22T06:20:46.797 に答える
0

このスクリプトを試してみてください。他のドメインの iframe でページを使用することはできません。

function bust() {
    var urlRefer = (window.location != window.parent.location) ? document.referrer: document.location;
    var envName = window.location.hostname;
    var envNameNew = new RegExp(envName);
    if (!(envNameNew.test(urlRefer))) {
        window.top.location="http://"+envName;  
    }
}
bust();
于 2014-09-18T18:18:00.950 に答える