facebook(不同?)用户代理爬虫来自喜欢和分享?

时间:2011-09-21 08:50:18

标签: facebook facebook-graph-api facebook-like facebook-sharer

我现在正在网站上工作。整个网站都受到保护,因此只有登录用户才能访问此网站(只要正在运行beta测试 - >限时)。

我们在网站上有两种不同类型的共享。一个是简单的“赞”按钮,另一个只是使用: http://www.facebook.com/sharer/sharer.php?u= {URL}

为了给facebook Crawler提供访问权限,我建立了这种保护:

if(wUserCur::isLoggedIn() || in_array($currentPath, $allowedLogins) || strstr($_SERVER['HTTP_USER_AGENT'], 'facebookexternalhit')):
    // do nothing
else:
    wResponse::redirect('/de/register/index.php');
endif;

我知道它的不安全,但这个网站并不打算归类。

这里最重要的是,这适用于http://www.facebook.com/sharer/sharer.php?u=,但是如果我按下了类似按钮,它会将抓取工具重定向到注册页面。

有不同的facebookCrawler吗?还是有更好的可能性?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

两个功能都应使用相同的用户代理 当前部署的抓取工具具有用户代理

FacebookExternalHit/1.1

FacebookExternalHit/1.0

理论上,版本号可以在某个时刻递增,但目前它是1.0或1.1