2

私は数時間探していましたが、解決策が見つかりませんでした。うまくいけば、あなたが助けることができます.

Iframe 内の親ページの名前とパスを取得したい。これは、Iframe 内のページが意図した場所以外に表示されるのを防ぐためです。親ページのセッション変数を取得できれば、ユーザーを確認できるのでさらに良いでしょう。

Iframe は ASP.NET で作成されますが、親ページは PHP です。

動作する可能性のある Javascript コードを見つけましたが、JavaScript と、戻り値を ASP.NET のコード ビハインドに渡す方法に非常に慣れていません。ソリューションに JavaScript が含まれている場合は、フォーム ロードでの呼び出しから値の取得まで、すべてが必要になります。

これらの機能を試しましたが、必要なものが表示されません。

Request.Url.AbsoluteUri.ToString
Request.ApplicationPath.ToString
Request.UrlReferrer.AbsolutePath.ToString

ありがとう

4

1 に答える 1

1

ソリューションとリダイレクトの背後にあるコードを探しているとのことですが、背後にあるコードは、ページが他のページから呼び出しているかどうかを認識できません。

試してみることができますRequest.ServerVariables["HTTP_REFERER"]が、これは間違いを犯す可能性があり、一部のユーザーによって無効にされたり、変更されたりする可能性もあります。

javascriptを使用した簡単な解決策の1つは、マスターページ内にあるかどうかをiframe自体で確認することです。したがって、このコードはiframe内にあるページに移動し、それだけが表示された場合は、ユーザーをマスターページにリダイレクトします。

<script type="text/javascript" language="javascript">
    // this line is check if its inside an iframe.
    // if top==self then is not in iframe
    if(top == self)
    {
        alert("This page can not be viewed alone, please press ok to load the master page");
        top.location.replace("MasterPage.aspx");
    }
</script>
于 2013-02-21T03:28:58.733 に答える