我尝试使用facebook PHP SDK与facebook集成以进行登录
$loginUrl = $facebook->getLoginUrl(array(
"scope" => "email,name",
"next" => "http://localhost/provider/facebook/auth?is_facebook=$someurl",
));
但是当facebook重定向到我的网站时,我不会得到is_facebook
param。我的猜测是如何知道它的Facebook是否重定向到我的网站
答案 0 :(得分:1)
查看用户是否来自Facebook的更好方法是查看HTTP引荐来源。你可以这样做:
if ( isset( $_SERVER['HTTP_REFERER'] ) && strstr( $_SERVER['HTTP_REFERER'], 'facebook.com' ) ) {
echo 'User came from facebook';
}
这样,即使GET变量在某处丢失,您仍然会知道该用户来自Facebook。您可以将此项与is_facebook=true
一起用于额外验证。
答案 1 :(得分:0)
在这种情况下,您只需设置is_facebook=true
或类似内容。由于您在此明确设置,Facebook将重定向到该URL,您将知道该用户来自Facebook ...或者他们复制并粘贴了一个URL。
出于任何安全原因,您不能依赖此,但对于一般分析,这已经足够了。
答案 2 :(得分:0)
“localhost”不在互联网上(因此无法找到),因此您不会收到回复。