3

我有一个自托管的 wordpress 博客,正如几乎预期的那样,我发现有另一个博客在抓取我的内容,发布了我自己帖子的完美副本(文本、图像不是热链接但被提取并重新上传到克隆的服务器、html 布局内帖子)有几个小时的延迟。

但是我必须承认,当我在谷歌搜索与我的帖子相关的关键字时,我很生气,抓取克隆总是排在第一位。

所以,我在这里,欢迎建议,你知道如何防止我的网站被成功抓取吗?

技术精度:

  • 克隆博客似乎是自托管的,我也是,我在 debian+webmin+virtualmin dedi
  • 我的 RSS 提要已经被“阅读更多”中途切断了。嘿,我只是想我应该发布一个帖子,同时给它分配一个日期,比如 2001-01-01,看看它是否出现在克隆博客上,这样可以知道我的 RSS 是否仍然被用作“嘿,现在是刮痧时间!”
  • 我的日志在合法流量中找不到刮板,要么无法识别,要么在合法流量的洪流中丢失
  • 我已经 htaccess-banned 和 iptables-banned 克隆的 .com 域,但我的内容仍然被克隆
  • 克隆网站使用反向代理,所以我无法追踪它的托管位置以及应该阻止哪些实际 IP(好吧,除非我 iptables-ignore-ban 一半欧洲禁止其数据存储设施的整个 IP 范围,但我有点不情愿!)
  • 我相信这不是手工制作的,克隆已经运行了两年,每天都没有失败
  • 只有我的新帖子被克隆,而不是我网站的其余部分(不是侧边栏,不是 wordpress 页面,而不是 wordpress 帖子,不是单个页面),所以设置一个 jail.html 来记录谁打开它页面不会工作,没有蜜罐
  • 当我的帖子包含指向我网站另一个页面的内部链接时,克隆上的帖子不会被重写,仍然会指向我自己的网站

我很乐意为这个问题提供帮助和建议。没有被克隆,而是在我是原始发布者时失去了该机器人的流量。

4

3 回答 3

0

尽管这是一个有点旧的帖子,但我认为如果其他人看到帖子并有同样的问题,我仍然会有所帮助。既然您已经从混合中消除了 RSS 提要,并且您非常确信这不是手动操作,那么您需要更好地阻止他们正在使用的机器人。

首先,我建议在您的 IPTables 中禁止代理服务器。您可以从Maxmind获取已知代理服务器地址的列表。这应该会限制他们匿名化自己的能力。

其次,让他们更难刮会很好。您可以通过以下几种方式之一完成此操作。您可以在 javascript 中渲染部分或全部网站。如果不出意外,您至少可以在 javascript 中呈现链接。这将使他们更难刮你。或者,您可以将内容放在页面内的 iframe 中。这也将使爬行和刮擦变得更加困难。

综上所述,如果他们真的想要您的内容,他们将很容易通过这些陷阱。老实说,与网络爬虫作斗争是一场军备竞赛。你不能设置任何静态陷阱来阻止他们,相反,你必须不断发展你的战术。

为了充分披露,我是Distil Networks的联合创始人,我们提供反抓取解决方案即服务。

于 2013-11-07T18:40:19.420 回答
0

你最终无法真正阻止它们,但你也许能够找到它们并惹恼它们。尝试将请求 IP 隐藏在 HTML 注释或白底白字文本中,或者就在某个不碍事的地方,然后查看副本上显示的 IP。如果需要,您还可以尝试通过将文本转换为十六进制字符串或其他内容来混淆该文本,这样对于不知道或使其看起来像错误代码的人来说不太明显,这样他们就不会明白什么你正在做的。

不过,最后,我不确定它会为你买多少。如果他们真的不专心,与其关闭它们并提醒人们注意你关注它们的事实,你可以在他们的一个 IP 出现时喂他们胡言乱语或其他任何东西。这可能很有趣,并且通过将示例文本放入马尔可夫链来制作一个乱码生成器并不难。

编辑:哦,如果页面没有重写太多,你也许可以添加一些内联 JS 以使它们链接到你,如果它们不剥离的话。比如说,一个横幅只在他们不在您的网站时才会显示,提供指向您文章的原始链接并建议人们阅读该链接。

于 2012-10-03T13:56:12.630 回答
0

您愿意关闭您的 RSS Feed 吗?如果是这样,你可以做类似的事情

function fb_disable_feed() {
wp_die( __('No feed available,please visit our <a href="'. get_bloginfo('url') .'">homepage</a>!') );
}
add_action('do_feed', 'fb_disable_feed', 1);
add_action('do_feed_rdf', 'fb_disable_feed', 1);
add_action('do_feed_rss', 'fb_disable_feed', 1);
add_action('do_feed_rss2', 'fb_disable_feed', 1);
add_action('do_feed_atom', 'fb_disable_feed', 1);

这意味着如果您转到提要页面,它只会wp_die()在第二行返回消息。我们将它用于带有 if 语句的 WP 软件的“免费”版本,因此他们无法连接到他们的 RSS 提要以链接到他们的主要网站,这对我们来说是一个追加销售的机会,它运作良好是我的观点,哈哈。

于 2012-10-03T19:17:52.913 回答