我现在正在一个网站上工作。整个网站都受到保护,因此只有登录用户才能访问该网站(只要 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吗?或者还有更好的可能吗?
感谢您的帮助。
这两个功能应使用相同的用户代理 当前部署的爬虫具有用户代理
FacebookExternalHit/1.1
或
FacebookExternalHit/1.0
理论上版本号可能会在某个时候增加,但目前是 1.0 或 1.1