0

PHPに小さなアプリケーションがあり、ボタン(type='button'ではなくtype='submit')がクリックされると、新しいウィンドウが開かれ、そのウィンドウにページが読み込まれます。データベースへのいくつかの挿入操作は、Ajaxを使用してウィンドウのそのページで実行されます。

ウィンドウにロードされたページは、ウィンドウでのみ開く必要があります。そのページのURLをWebブラウザのアドレスバーに直接入力する場合は、ページを保護して他のページにリダイレクトする必要があります。これは、アプリケーションのホームページである可能性があります。使ってみwindow.opener.closedましたが、この要件には合いません。

PHPでは確認できます

if($_SERVER['REQUEST_METHOD'] == "GET")
{
    header("location:Home.php");
}

ただし、そのページのリクエストでAjaxを使用しているため、ウィンドウ内のページもHome.phpページにリダイレクトされGETます。

ページをウィンドウにのみロードできるかどうかを判断する方法はありますか?いずれの場合も、ロードされないようにする必要があります。

ありがとう。

4

2 に答える 2

0

$_GETを介して秘密鍵をポップアップに渡すことができます。キーが有効でない場合は、ページから離れた場所にリダイレクトを実行します。これは、ページに直接アクセスしたユーザーが秘密鍵を知らないことを意味します。

ヘッダーリダイレクトの後に終了することも忘れないでください。そうしないと、スクリプトが処理を続行する可能性があります。

于 2012-05-15T14:57:06.200 に答える
0

その保護されたアドレスを通常のブラウザのアドレスバーで開いた場合に opener 属性が設定されているか確認しましたか? そうでない場合は、ウィンドウのロード時にチェックして、この値が設定されていないときに終了することができます

于 2012-05-15T14:55:59.760 に答える