5

我们正在开发一个应用程序,代表我们的用户在 Facebook 上发布帖子。在这些帖子中,我们希望放置指向外部(非 Facebook)网站的链接。

查看浏览器(通常是 Chrome)状态栏中的链接,会显示正确的 URL。然而,Facebook 似乎将实际点击的链接包装成一些额外的花里胡哨。通常,这可以正常工作。

但是,有时,此 URL 包装最终会将点击发送到如下 URL:

http://spywaresite.info/0/go.php?sid=2

(添加空间使其不可浏览!)这会生成 Chrome 严重警告消息:

在此处输入图像描述

这种情况在 Chrome 上偶尔会发生,但在 iPhone 上的 iOS 浏览器中则更为常见。

有没有人对如何处理这个问题有任何指示?


编辑

例如,我们在链接中放置的 URL 是

http://www.example.com/some/full/path/somewhere

但实际被点击的 URL 是:

http://platform.ak.fbcdn.net/www/app_full_proxy.php?app=374274329267054&v=1&size=z&cksum=fc1c17ed464a92bc53caae79e5413481&src=http%3A%2F%2Fwww.example.com%2Fsome%2Ffull%2Fpath%2Fsomewhere

页面中似乎有一些 JavaScript 优点可以解读这些内容并且通常会正确重定向。

编辑2

上面的链接放在图像上,下面的屏幕截图中图像右侧的蓝色文本。

将鼠标悬停在浏览器中的链接(或图像)上会显示正确的链接。右键单击链接并选择“复制链接地址”获取上面的 fbcdn.net 链接(或类似链接)。实际上,单击该链接似乎会将 fbcdn.net 链接的一些 JavaScript 处理触发到正确的链接中……但有时该处理会失败。

在此处输入图像描述

4

2 回答 2

2

我不是 100% 确定你在这里问什么,但我会告诉你我所知道的:- 你指的是 Facebook 上的这个屏幕吗?

插屏截图]
(或者更确切地说,不允许点击的那个屏幕的变化?)

  • 如果您手动将用户发送到 facebook.com/l.php?u=something 他们将始终看到该消息 - 这是防止打开重定向器的措施
    • 如果您的用户正在提交此类链接,包括 l.php 链接,您需要提取目标 URL(在“u”参数中)
    • 如果您看到从 API 返回的 l.php URL,这可能是一个错误。

如果facebook.com 上点击的链接最终出现在屏幕上,那是因为 facebook 检测到该链接是可疑的(例如,对于 URL 重定向站点 - 屏幕将允许点击但首先警告用户)或恶意/垃圾邮件(不允许点击)

在您的应用程序中,您将无法发布指向后者的链接(会返回一个错误,说明 URL 已被阻止),而前者有时可能会抛出验证码(如果您使用的是 Feed 对话框,这应该是透明的到应用程序代码,用户将输入验证码,对话框将正常返回)

如果这不是您要问的,请澄清一下,我会更新我的答案

于 2012-05-11T17:06:12.527 回答
0

与其添加问题,我想我会在这里提供更多细节。

看起来原始标题中提到的 Facebook 是错误的,所以我删除了它。

我们还没有找到问题的根源。

但是,我们同时使用WiresharkFiddler来查看 Chrome 浏览器(在 PC 上)和 Facebook 之间的 HTTP 流量。两者都表明 Facebook 正在返回正确的 URL 刷新。

以下是 Wireshark 展示的内容:

在此处输入图像描述

我们在 Fiddler 上看到的是我们的服务器正在向 spywaresite.info 站点发出重定向:

在此处输入图像描述

我们正在与我们的 ISP 合作,以确定这里发生了什么。

于 2012-05-14T19:31:07.607 回答