社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

猿大侠 • 1 月前 • 131 次点击  
#科技资讯 GitHub 实施更严格的风控规则阻止中文用户访问,疑似是为了反爬虫和反抓取。根据网友反馈情况来看 GitHub 会先检测 IP 地址质量,如果是脏 IP 则会触发风控规则,接着检测请求头语言是否是 zh_CN,如果是则禁止访问。该策略并不会拦截中国 IP,只是根据不同情况进行判断。查看全文:https://ourl.co/108910

早前 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 也只能根据爬虫的情况进行针对性的策略调整实现封禁。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/181664
 
131 次点击