GitHub实施更严格的风控规则阻止中文用户访问 疑似是为了反爬虫和反抓取

早前 GitHub 因为失误部署了屏蔽所有中国 IP 地址的规则,中国 IP 地址访问时会出现禁止访问提示,随后 GitHub 更新规则并解释是部署错误,更新规则后中国 IP 地址可以重新访问。

如果之前是失误那现在肯定就是故意的了,GitHub 部署的新规则会对用户语言进行检查,如果用户使用的是中文 (仅限 zh_CN) 则可能会触发限制而被限制访问,不过从情况来看 GitHub 应该是为了反爬虫的 (例如某 SDN 无差别拉取 GitHub 上的项目搬到自家平台)。从测试情况来看 GitHub 将多个条件整合用来触发限制,例如首先检查 GitHub 的常规规则 (包括黑名单 IP 和 UA),然后检测 IP 地址质量,以上两个条件全部通过后再检查第三个条件,也就是浏览器请求头的语言部分是否包含 zh_CN,如果检测到用户使用的中文则会返回错误。

也就是说 GitHub 并没有针对特定区域的 IP 进行封禁,如果用户 IP 质量没问题的话则不会触发语言检测,因此如果用户使用企业代理软件访问 GitHub 的话就可能因为 IP 地址质量差 (脏 IP) 而触发语言检测。

从这些情况来看 GitHub 大概率是为了反爬虫和反抓取,目前大量 AI 爬虫对 GitHub 疯狂抓取用来训练模型,这种抓取行为不仅会给 GitHub 服务器造成负担,也会浪费大量流量造成 GitHub 成本增加。

如果用户并非爬虫并且访问受到影响,那也可以进行针对性的解决:

  1. 简单方法就是直接修改请求头将语言修改为 en_US 等其他未被限制的语言

  2. 更换质量更好的 IP 地址避免触发风控,当然更换 IP 地址可能会增加潜在使用成本

不过针对语言的检测很容易被绕过,接下来 GitHub 很有可能会观察情况并对修改语言的行为进行检测,毕竟反爬虫是个长期工作,GitHub 也只能根据爬虫的情况进行针对性的策略调整实现封禁。 GitHub实施更严格的风控规则阻止中文用户访问 疑似是为了反爬虫和反抓取 – 蓝点网

12 Likes

en_US 不爬,就 zh_CN 爬?你把 zh_CN 禁了,难道就不能用 en_US 爬了吗?就算爬仓库,流量大头难道不是 git clone 嘛,干嘛屏蔽 raw 地址?

这个解释很难说的过去。

21 Likes

GitHub 这么做,象征意义大于实际行为本身。目的是给国内爬虫提个醒。
刑不可知,则威不可测。

我以为已经爬完了,短期内应该不需要再爬一次了?

你这个就更抽象了,这能提醒个什么?屏蔽了 zh_CN 受害者是广大国内用户,于 CSDN/gitcode 而言,那肯定是利好,用户访问不了 GitHub 就会找替代品,说不定更会变本加厉的爬,难不成 GitHub 还能跨国逮捕 CSDN 高管?

1 Like

就算他是垃圾中的战斗机,GitHub 不给你用,总有人切换到 CSDN 吧?

你支持什么,起不到任何作用,GitHub 不因你屏蔽简中用户。

一个美国企业没有司法权怎么可能逮捕中国 CSDN 高管?

那你刑不可知,是什么刑,让谁知?不会是屏蔽 zh_CN 这种做法就算刑了吧?

刑:泛指 GitHub 限流 zh_cn
谁:简中用户

回答完毕。

现在你回答我:

一个美国企业没有司法权怎么可能逮捕中国 CSDN 高管?

那你来回答我,制裁中国普通用户,能实现“给国内爬虫提个醒”吗,能实现制裁 CSDN 吗?

  1. 能。
  2. 和 CSDN 无关。就算哪一天 GitHub 屏蔽全球非英语用户,作为开源社区,我还是只用 GitHub。
  3. 还是请你回答之前的问题,你问的我都回答了,我问的你闭口不谈然后问我?尽管我每次都会回应:

一个美国企业没有司法权怎么可能逮捕中国 CSDN 高管?

前后矛盾
你前面说目的是给国内爬虫提个醒
现在又说谁是指简中用户

你怎么把两者对等的?

至于支持屏蔽简中用户 我支持你别用

2 Likes

国内爬虫大概率是简中用户,像我一样的中国人。

  1. 中国普通用户用不了 GitHub,是制裁 CSDN,你这么说,那我无话可说。

  2. 不需要一再强调你用什么。我不关心。

1 Like

请你回答我的问题。

一个美国企业没有司法权怎么可能逮捕中国 CSDN 高管?

你说的这个第一个论点是怎么得出来的??? 我什么时候这么说了?另外你一直不回应我的问题,我每次都礼貌回应你的问题。然后你都这样:「我无话可说」,「那你来回答我」,CSDN 可是你自己提出来的,我只觉得 CSDN 是垃圾,自己不用。

中国普通用户用不了 GitHub,是制裁 CSDN,你这么说

大概率?你是说你我这样的用户,大概率是那些公司商业用途的爬虫,例如你们说的CSDN?

1 Like

这个不是你自己回答的“能”吗?