Php 页面只能在窗口中打开
我有一个PHP小应用程序,当点击按钮(Php 页面只能在窗口中打开,php,javascript,Php,Javascript,我有一个PHP小应用程序,当点击按钮(type='button'而不是type='submit')时,会打开一个新窗口,并将一个页面加载到该窗口中。使用Ajax在窗口的该页面上执行一些数据库插入操作 加载到窗口中的页面只能在窗口中打开。如果该页面的URL直接输入web浏览器的地址栏,则该页面必须受到保护并重定向到其他页面,它可能是应用程序的主页。我尝试使用window.opener.closed,但它不适合这个要求 在PHP中,我可以检查 if($_SERVER['REQUEST_METHOD'
type='button'
而不是type='submit'
)时,会打开一个新窗口,并将一个页面加载到该窗口中。使用Ajax在窗口的该页面上执行一些数据库插入操作
加载到窗口中的页面只能在窗口中打开。如果该页面的URL直接输入web浏览器的地址栏,则该页面必须受到保护并重定向到其他页面,它可能是应用程序的主页。我尝试使用window.opener.closed
,但它不适合这个要求
在PHP中,我可以检查
if($_SERVER['REQUEST_METHOD'] == "GET")
{
header("location:Home.php");
}
但这也会将窗口中的页面重定向到Home.php页面,因为我在该页面上的GET
请求中使用Ajax
有没有办法确定页面是否只能加载到窗口中?在所有情况下,都必须防止加载
谢谢。如果在常规浏览器地址栏中打开受保护的地址,您是否检查了是否设置了opener属性?如果没有,那么您可以在加载窗口时检查它,并在该值未设置时退出您可以通过$\u GET将密钥传递到弹出窗口。如果密钥无效,您将从页面执行重定向。这意味着直接访问页面的用户将不知道密钥
记住在头重定向后也要放一个出口,否则脚本可能会继续处理 这根本无法在PHP端完成。。PHP无法知道是否有可用的
window.opener
。如果window.opener
可用,您可以打开新窗口,然后用JS加载页面。。否则重定向,但不能在服务器端执行。不要这样做。无论谁会使用你的页面,他都不会喜欢。我认为这是一个可以接受的检查,因为在你自己的应用程序中,你可以决定地址栏在window中是否可编辑。openI使用jQuery函数做了这件事,比如jQuery(document).ready(function(){if(window.opener==null){window.location=“index.php”});代码>。可能在概念上是错误的,但它是有效的。非常感谢你。