GitHub 阻止中文用户访问了 吗?

浏览: 180 次浏览 作者: 去年夏天 分类: 资讯,技术文章,碎碎谈 发布时间: 2025-04-29 14:43

引言

今天群里不小小伙伴都表示在访问 GitHub 时遇到了「对本网站的访问受到限制」 (access to this site has been restricted) 、「访问已被限制」(Access has been restricted)的提示。

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

如果之前是失误那现在肯定就是故意的了,这次如果你使用代理访问,并且使用的是中文 (仅限 zh_CN),那么你就有可能被 GitHub 阻止访问。



情况

那么问题来了,GitHub 是打算主动屏蔽所有中国用户吗?
经过我和群内小伙伴们的测试,答案是:应该不是,看起来更像是 GitHub 针对中文爬虫设定的反爬措施。

实际触发这个限制的条件逻辑是:
1. 基于IP或者UA等判断(比如是不是机房IP,代理IP,常见爬虫UA,模拟浏览器头)
2. 基于一些流量模型判断(比如访问频率过高,访问范围过广)
3. 是不是请求头的语言部分包含 zh_CN
4. 只有上边每一层检测,都触发了“是”,那么才会触发访问限制。
5. 并且这个限制是分功能的,不是完全不可用,有可能你可以在浏览器中浏览项目,编辑文件,但你这时却无法在 浏览器内 raw,无法在终端里 git clone。

也就是说,对于正常的中文用户,如果你的IP比较干净,不是使用奇形怪状的浏览器访问,都是可以正常访问 GitHub 的。

碎碎谈

感觉 GitHub 大概率是为了反爬虫、反抓取,毕竟现在 AI 训练爬虫在对 GitHub 疯狂抓取用来训练模型。微软虽然家大业大也没钱了嘛。不过国内爬虫是有多少啊,都能让 GitHub 把语言当作一个过滤条件了。之前那次屏蔽中国IP,搞不好起因也是这个,只是个某个管理错误的把中国的IP段全部给拉黑了。
不过把请求头语言项作为爬虫检查项,意义不大吧,这个特征也不难改……

如果你使用的代理 IP 质量不佳,IP 被万人骑,实在太黑了,导致被 GitHub 拦截了,比较简单的办法就是:
– 换个IP
– 使用一些浏览器请求头修改扩展,将请求头语言部分改成 accept-language = en_US,en;q=0.9,zh;q=0.8 (英语优先,中文备选)。

分享这篇文章
7 条评论
  • skylwn

    2025-04-30 12:35

    我就说为啥我看一些项目图片都不显示了😅

  • acevs

    2025-04-30 10:19

    浏览器请求头修改扩展
    博主用的哪个?

    1. 去年夏天

      2025-04-30 10:47

      Header Editor
      不过正在发愁呢,谷歌这马上就要彻底停用MV2扩展了。

      1. ACEVS

        2025-04-30 11:11

        Header Editor
        4.1.1
        管理浏览器请求,包括修改请求头和响应头、重定向请求、取消请求
        这个我之前试用微软那个ai用过。

  • Nati

    2025-04-29 23:36

    修改请求头的确有效果,感谢

  • obaby

    2025-04-29 15:20

    没遇到过这种情况,应该不会直接就给屏蔽了。

    1. 去年夏天

      2025-04-29 16:16

      有被错误识别后无法访问的,有些人的代理IP用的人太多了非常黑,。看网上有小公司给员工的代理被github拉黑的。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理