我在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。
有没有办法确定页面是否只能加载到窗口中?在所有情况下,必须防止它被加载。
感谢。
答案 0 :(得分:0)
如果您在常规浏览器地址栏中打开受保护的地址,您是否检查了是否设置了开启属性?如果没有,则可以在加载窗口时检查它,并在未设置此值时退出
答案 1 :(得分:0)
您可以通过$ _GET将密钥传递给弹出窗口。如果密钥无效,您将执行远离页面的重定向。这意味着直接访问该页面的用户将不知道该密钥。
请记住在标题重定向后也要退出,否则脚本可能会继续处理!