0

我在 PHP 中有一个小型应用程序,当单击按钮(type='button'而不是type='submit')时,会打开一个新窗口并将页面加载到该窗口中。使用 Ajax 在窗口上的该页面上执行一些到数据库的插入操作。

加载到窗口中的页面只能在窗口中打开。如果该页面的 URL 直接输入到 Web 浏览器的地址栏中,则该页面必须受到保护并重定向到某个其他页面,它可能是应用程序的主页。我尝试使用window.opener.closed,但它不适合这个要求。

在 PHP 中,我可以检查

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

但这也会将窗口中的页面重定向到 Home.php 页面,因为我在该页面上的GET请求上使用了 Ajax。

有没有办法确定页面是否只能加载到窗口中?在所有情况下,都必须防止它被加载。

谢谢。

4

2 回答 2

0

如果您在常规浏览器地址栏中打开受保护的地址,您是否检查过是否设置了 opener 属性?如果没有,那么您可以在加载窗口时检查它,并在未设置此值时退出

于 2012-05-15T14:55:59.760 回答
0

您可以通过 $_GET 将密钥传递给弹出窗口。如果密钥无效,您将执行远离页面的重定向。这意味着直接访问该页面的用户不会知道密钥。

请记住,在您的标头重定向后也要退出,否则脚本可能会继续处理!

于 2012-05-15T14:57:06.200 回答