【问题标题】:How to prevent someone from hacking API feed?如何防止有人入侵 API 提要?
【发布时间】:2009-09-24 01:16:28
【问题描述】:

我已经开始开发一个网页,最近聘请某人编写代码以在http://farmball.com/ 的中间面板中显示自定义提要(由 API 提供支持)。 请注意,这不是与网站博客相关联的 RSS 提要。提要与我在另一个网站上的帐户相关联。普通用户没有订阅订阅源的 RSS 链接。我已将该站点退出维护模式,以询问具有抓取/黑客经验的任何人如何最轻松地“获取”提要并将其显示在自己的站点上。更重要的是,我能做些什么来预防呢?

^更新了措辞

【问题讨论】:

  • 提要的重点不是要在别处读取、解析和显示吗?
  • 您可能应该完全重写您的问题,以非常清楚您不是在谈论 RSS 提要或任何类型的专用提要格式。
  • 这听起来像是一个毫无价值的目标——不是为了获得任何回报而付出的努力。
  • 所以,明确地说,您是在问有人从您的页面中抓取内容并重新显示它有多容易?
  • 克雷格:你指的是我的项目还是试图获取提要的人?我意识到有人能够在 1 分钟内做到这一点。 Rex M:是的,就是这样。我将稍微研究一下 JSON。也许有一种方法可以对 JSON 或 javascript 进行加扰/加密?

标签: rss feed screen-scraping


【解决方案1】:

你不能。

如果您要公开一个您不希望其他人能够在他们的网站上显示的 RSS 提要,那么您就完全忽略了 RSS 的意义Really Simple Syndication (RSS) 的全部原因是让您的内容可在外部使用 - 无论是在 RSS 阅读器中还是通过某人在他们自己的网站上简单地打印其内容。

如果您不希望有人能够使用它,为什么还要包含 RSS 提要?

【讨论】:

  • 哲学当然是死板的,但它并没有直接回答问题(或者只是以非常迂回的方式回答)......
  • 完美回答。答案是你不能,因为他的要求完全违背了他使用的工具的设计。
  • @Matthew 这是一个反问,揭示了试图保护 RSS 的想法是多么荒谬,但它实际上并没有说“你不能”。
  • 我不同意这一点。 RSS 阅读器在桌面上作为端点非常有用。这里要问的是,是否有任何方法可以强制读者应该是一个端点,而不是进一步重新分配。有很多您希望提供但不可再分发的专有内容的示例。想想电影、游戏和音乐公司。
  • @WaffleMatt 在电影、游戏和音乐示例中,内容以专为安全而设计的格式分发。 RSS 不是。
【解决方案2】:

我可以做些什么来防止...“获取”提要并将其显示在他们自己的网站上?

什么都没有。防止重用违背了 RSS 的基本概念,即让任何人尽可能轻松地用它做任何他们想做的事情。它从一开始就被设计为非常容易聚合,而不是在未经许可的情况下很难重新传输。

您只能通过让受信任的用户提供一些凭据或将密钥传递给提要(例如yoursite.rss?mykey=abc123)来限制对提要的访问。但是你无法控制使用。只能访问。

【讨论】:

    【解决方案3】:

    明确说明您的许可证。它不是一种技术解决方案,正如其他人所提到的,该技术是一种开放技术——这不是 DRM!但是,如果您在每个帖子中要求使用此提要的人不要重新发布/未能给予信用/等,那么有些人会响应该请求。

    否则,您最好将您的内容设置在密码后面,并使用付费订阅模式来分发您的内容。

    【讨论】:

    • 对不起,我在最初的帖子中并不清楚。该提要不是我自己的内容的站点提要,而是指中间面板中的提要,我从另一个站点连接到 API。
    【解决方案4】:

    这本质上是一个 DRM 问题。如果您有某种技术可以将内容放到网络上而不使其可再分发,那么音乐行业会您。

    可以尝试来防止重新分发。您可以尝试的一种技术是将某种签名嵌入到您需要注册的每个用户的提要中。如果在网络上发现该内容,您可以识别并禁止重新分发您的内容的用户。

    这也是可以避免的,方法是获取多个帐户并规范内容以去除指纹。对于潜在的盗版者来说,这需要比他们愿意付出更多的努力。您的签名可能是独特的空白模式、帖子时间戳的微小差异、视频中的像素错位或任何其他您可以略有不同的东西没有最终用户注意到。

    【讨论】:

      【解决方案5】:

      使用 .htpassword 更好的是,不要将私有的东西放在公共场所,因为它可能会被软件自动拾取。就像其他人所说的那样,这是一个非常奇怪的问题,如果你想弄清楚其他事情,你最好明确表达你想知道的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-13
        • 1970-01-01
        • 2018-04-22
        相关资源
        最近更新 更多