【问题标题】:Format of External Links on FacebookFacebook 外部链接的格式
【发布时间】:2011-10-28 18:15:44
【问题描述】:

当您访问 FB 上的个人资料并单击

中提供的链接时,我看到了

联系方式 --> 网站

Facebook先带你到下面提到的url格式

http://www.facebook.com/l.php?u=http%3A%2F%2Fwww.nwaonfire.com%2F&h=BAQByDCFo

然后将您带到该站点。

我的问题是为什么 facebook 会这样做,我问是因为我的应用程序中有一个地方允许用户输入网站 url。

【问题讨论】:

    标签: facebook security url web url-encoding


    【解决方案1】:

    ...Facebook 使用上述链接而不是直接链接到http://www.nwaonfire.com 的原因是 facebook 是邪恶的。

    他们想知道哪些链接很受欢迎,他们的用户要去哪里以及链接来自哪里。

    我还看到http://www.facebook.com/l/BAQByDCFo/www.nwaonfire.com 的格式,其中 BAQByDCFo 是一个哈希值。

    【讨论】:

      【解决方案2】:

      完成 URL 编码后,第二个 URL 可以放在第一个查询字符串中,而不会破坏原始 URL。例如,使用“/”字符暗示目录结构或使用“&”打破名称值对。如果要将 URL 作为查询字符串参数嵌入,则必须先对其进行编码。执行此操作的方式会因您使用的语言而异,但大多数基于 Web 的框架都有本机或基于库的函数可以轻松执行此操作。

      【讨论】:

      • 这一行是什么意思“不破坏原始网址”
      • 例如,“/”是 URL 规范中的保留字符:w3.org/Addressing/URL/url-spec.txt 它不能用作 URL 的一部分,只能在协议 (http) 之后或表示分层结构体。在您的示例中,它已被转义为“%3A”,因此它可以在查询字符串中传递,而不会非法使用该字符。
      猜你喜欢
      • 2017-04-05
      • 2011-07-19
      • 2015-09-04
      • 1970-01-01
      • 2019-11-11
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 2010-12-09
      相关资源
      最近更新 更多