我有一个网页(在Drupal 6中),其中包含一个类似Facebook的按钮,一个评论框。 Facebook通过开放图形标签接收必须共享的信息。匿名用户无法访问此站点,仅适用于注册用户。
当匿名用户尝试打开该网站时,他会被重定向到登录页面。问题出现了:当Facebook扫描页面以接收应该共享的信息时,该站点将作为匿名用户处理并重定向到登录页面。因此Facebook收到登录页面的信息(图像,描述)。我可以决定/验证Facebook何时尝试扫描我的网站以避免将其重定向到登录页面(不知何故没有Facebook API)?
答案 0 :(得分:1)
您可以获取Facebook IP列表(List of IP Space used by Facebook)并让他们绕过Drupal的身份验证。
另一种选择是覆盖描述,图像和标题(参见:Want custom title / image / description in facebook share link from a flash app)。
另一种选择是有一个额外的参数,比如fb=1
,并为facebook生成必要的标签进行解析,包括图像,简短描述和标题,无需任何身份验证。然后将fb=1
附加到您的共享链接。在生成共享代码段时,也可以感知facebookexternalhit/1.1 (+http: //www.facebook.com/externalhit_uatext.php)
用户代理(感谢@madebydavid)。但请注意不要显示或验证用户,因为任何人都可以设置用户代理标头或将fb=1
附加到您的网址。
保持安全。