php - 将 Facebook 检测为推荐人?

标签 php facebook referrer

我有一个禁止正常访问的封闭测试版网站 - 访问者必须先登录才能查看该网站。我还有一个 secret 的 Facebook 群组,我们经常在其中分享网站文章的链接(供讨论)。问题是,当我们粘贴链接时,Facebook 会尝试获取它的预览但失败了,因为它被认为是未登录的用户。所以简而言之,我希望该网站只对 Facebook 公开。这些是我提出的解决方案:

  1. 检测引荐来源网址:失败,引荐来源网址为空 - 可能是因为 FB 从 HTTPs 浏览网站?
  2. 检测客户端 IP:对此不确定。 FB服务器有固定IP地址吗?
  3. 搜索 FB 在浏览我的网站时使用的“Facebook 查询字符串”- 类似于 mysite.com/?from=I'm-Facebook-Bitch:到目前为止没有结果。

你怎么看?有没有可靠的方法来完成这个任务?提前致谢。

最佳答案

好的,我在这里找到了解决方案:https://developers.facebook.com/docs/reference/plugins/like/

我们可以检查 FB 抓取程序的用户代理 ($_SERVER['HTTP_USER_AGENT']),而不是检查 IP 或 referrer。值为 facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

希望对其他人有帮助。

关于php - 将 Facebook 检测为推荐人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18285813/

相关文章:

php - 学说映射可以,但数据库验证不行

ios - 未找到 FBSDKShareKit/FBSDKShareKit.h 文件

iphone - iOS 应用程序的 Facebook SSO 问题

iphone - Storyboard中的 Facebook SDK?

php - 我如何使用 PHP 获取用户来自的引用站点以到达我的站点?

PHP:如何检测用户是否是 root/sudo?

PHP 插入 MySQL 数组,其中一个字段是在第一个 SQL 语句中创建的所有数据库字段

php - 加快 YII 应用程序的最快方法?

android - Android 中的 Google Analytics Referrer 问题

php - 防止 Amazon S3 文件的热链接?