2

これはframe.phpからの私のコードです

<FRAMESET rows="20, 200" FRAMEBORDER=NO FRAMESPACING=0 BORDER=0>
<FRAME src="menu1.html">
<FRAME src="test1.php">
</FRAMESET>

人々が「test1.php」に直接アクセスするのをブロックする方法があるかどうか疑問に思っていますか?

私は人々に frame.php にとどまってもらいたいのですが、人々が「 test1.php 」に直接行こうとすると、エラーが発生します。そのような方法やコードはありますか?

この「frame.php」ページにアクセスする前に、ユーザーはログインする必要があります。

私は初心者で、ユーザー認証ページと構成ページから物事を移動しようとしていますが、何も機能していないと思います。

「menu1.html」にユーザー認証ページと構成ページを含めます。このセクションには、「ようこそユーザー名 | ログオフ | 残りのメニュー」のようなものが表示されます。サインインすると、「test1.php を含む frame.php」にアクセスできます。

これを見つけたのですが、使い方がよくわかりません。「続行」領域に入力するコードは何ですか? また、「 logoff.php 」を後ろに置くべきですか?

if ($_SERVER['HTTP_REFERER'] == 'http://mysite.com/downloadlist.php') {
//proceed
} else {
//kick user out
}

どうもありがとうございました。

4

3 に答える 3

2

test1.phpで次のjavascriptスニペットを使用して、test1.phpがiframeからロードされているかどうかを確認します。

if (window.location != window.parent.location) {
    // test1.php is within iframe
} else {
    // test1.php is accessed directly
}
于 2012-08-06T05:26:18.507 に答える
2

1.フレームセットを使用しません。フレームセットは非推奨であり、運命のタグです。代わりにiframe、imoを使用してください。この現在のページでは、INCLUDEphp関数を使用してhttpリクエストを最小限に抑えることができます。

2.URLとフレームからのリクエストは同じGETリクエストです。したがって、その要求がどこから来たのかをサーバー上で理解する方法はありません:フレームまたは他の場所。ただし、jsは使用できます。これはお勧めしませんが、次のように機能します。

<body onLoad="fromFrame">
    // test1.php code here
</body>
<script type="text/javascript">
function fromFrame() {
    if (window.top === window.self)
       document.location.href = "errorRedirectUrl";
}
</script>
于 2012-08-06T05:26:21.373 に答える
0
  1. フレームを使用する前にこれを読むことをお勧めします
  2. phpスクリプトへの直接アクセスを防ぐ最善の方法は、スクリプトをフォルダーに入れ、.htaccessファイルでこのフォルダーにアクセスできないようにすることです。次に、を使用includeしてアクセスします(ユーザーがアクセスできる「OK」の別のページから)。
于 2012-08-06T05:28:39.813 に答える