如何识别平台之间的脸书应用画布/网站使用PHP


How to identify the platform between facebook app canvas / website using PHP?

如何检查用户是来自facebook还是直接来自网站?我使用过这种方法$_REQUEST['signed_request'],但他们只响应了一次。

非常感谢您的回复

if(isset($_REQUEST)){
            if(isset($_REQUEST['signed_request'])){
                $this->result = "fb_platform";  
            }else{
                $this->result = "web_platform"; 
            }
}

在一些堆栈溢出问题审查后,我更改了代码

<script>
//if a user is coming from 
//facebook or directly from the site.
function platformAuthentication(){ 
    var platform = "fb_platform";
    if(window.self === window.top) {
        platform = "web_platform";
        $("#platform_key").val(platform);
        $("#platform_form").submit();
    }else{
        platform = "fb_platform";
        $("#platform_key").val(platform);
        $("#platform_form").submit();
    }
}
setTimeout(platformAuthentication,500);
</script>

</head>
<body>
<!--hidden form for user tracking, 
    if a user is coming from fb/direclty 
    from the site
-->
<form id="platform_form" name="platform_form" method="post" target="iframe_platform" action="url">
<input type="hidden"  id="platform_key" name="platform_key" />
</form>
<iframe id="iframe_platform" name="iframe_platform" src="url">
</iframe>