Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅允许通过iFrame访问URL,并防止在PHP中直接访问_Javascript_Php_Iframe - Fatal编程技术网

Javascript 仅允许通过iFrame访问URL,并防止在PHP中直接访问

Javascript 仅允许通过iFrame访问URL,并防止在PHP中直接访问,javascript,php,iframe,Javascript,Php,Iframe,我有一个网站文件夹,里面有一些PHP的内容。我希望它只能通过iframe访问。并希望防止使用直接URL访问 允许访问 如果直接访问,则重定向访问example.com/chocos.phpURL 为此,我添加了一个javascript if(window==window.top){ window.location.href=“/”; } 但是我想用PHP来实现这一点。有人能帮我解决这个问题吗?您可以通过使用cookies的php实现这一点: 在包含iframe代码的主页面上,保存新cookie

我有一个网站文件夹,里面有一些PHP的内容。我希望它只能通过iframe访问。并希望防止使用直接URL访问

允许访问

如果直接访问,则重定向访问
example.com/chocos.php
URL

为此,我添加了一个javascript

if(window==window.top){
window.location.href=“/”;
}


但是我想用PHP来实现这一点。有人能帮我解决这个问题吗?

您可以通过使用cookies的php实现这一点:

在包含iframe代码的主页面上,保存新cookie,但不设置其过期日期:

setcookie("allowAccess", 1);
然后,在加载到iframe的文件上,在您的示例中为“chocos.php”:

if(isset($_COOKIE['allowAccess'])
    {
       //your content here;
    }
else
    {
       //your redirection here
    }

因此,如果用户不访问主页,alloweAccess cookie将不会在浏览器中设置,因此iframe页面将根据您的需要进行重定向。

PHP无法知道浏览器是否会在iframe中显示请求的资源。PHP脚本最终是一个程序,通过网络连接发送大量文本/二进制文件。它确实会收到一些关于请求它的人的(伪造的)信息,但不会知道它是否会最终成为iframe的
src