Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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
使用PHP SDK 4.0进行Facebook登录集成-重定向时缺少HTTP_REFERER_Php_Facebook_Facebook Php Sdk - Fatal编程技术网

使用PHP SDK 4.0进行Facebook登录集成-重定向时缺少HTTP_REFERER

使用PHP SDK 4.0进行Facebook登录集成-重定向时缺少HTTP_REFERER,php,facebook,facebook-php-sdk,Php,Facebook,Facebook Php Sdk,我试图使用PHP SDK 4.0集成Facebook登录。一切正常,除了成功登录后Facebook重定向的页面中缺少HTTP\u REFERER(用户授权应用程序并授予请求的权限) 登录页面: <?php ... $loginHelper = new FacebookRedirectLoginHelper('localhost/login/facebook/verify.php'); $loginURL = $loginHelper->getLoginUrl(); header("L

我试图使用PHP SDK 4.0集成Facebook登录。一切正常,除了成功登录后Facebook重定向的页面中缺少
HTTP\u REFERER
(用户授权应用程序并授予请求的权限)

登录页面:

<?php
...
$loginHelper = new FacebookRedirectLoginHelper('localhost/login/facebook/verify.php');
$loginURL = $loginHelper->getLoginUrl();
header("Location: $loginURL");
...
?>
php.net文档说明:

将用户代理引用到的页面(如果有)的地址 当前页面。这是由用户代理设置的。并非所有用户代理 将设置此选项,有些选项提供了将HTTP\U REFERER修改为 特写。简言之,它真的不可信


那么,是Facebook没有设置这个特定的标题,还是我在某个地方做错了?

应该是您的web浏览器设置HTTP\u REFERER标题,而不是Facebook本身。当您的站点从
HTTPS
站点链接或重定向时,浏览器不会设置引用者。

是的。FacebookOAuth使用安全URL。所以,当URL是HTTPS时,没有机会知道引用者?有机会知道URL吗?如果可以的话,我很确定这在浏览器中会被视为一个安全漏洞。你为什么需要它?我想看看它是否是facebook重定向。没关系,我现在得即兴创作了。谢谢。
<?php
if (isset($_SERVER['HTTP_REFERER'])) {
    if (strpos($_SERVER['HTTP_REFERER'], 'facebook.com') !== false) {
        // Redirected from Facebook
       ...
    }
}
?>