cloudflare 是怎么知道我用 requests 的?

2020-01-30 20:25:42 +08:00
 freshgoose

我通过代理访问一个网站,在流览器访问(隐身模式+禁止 JS )没问题,可以拿到 html,用 requests.get 就 403 了,显示了 cf 的页面,提示我要滑验证码。

但是我明明把 headers 都凑齐了(通过 Network 把 requests header 一个个复制出来的),跟浏览器用的一个代理,怎么偏偏 requests.get 就 403 了呢?

那个网址是:aHR0cHM6Ly93d3cuYXJ0c3RhdGlvbi5jb20vYXJ0d29yay84bEQ0blE=

大家有空可以研究一下,我实在搞不懂。

5912 次点击
所在节点    问与答
27 条回复
binux
2020-01-31 08:46:18 +08:00
SSL fingerprint
Chaidu
2020-01-31 09:58:50 +08:00
太多方式可以识别了。比如,你通过浏览器访问网页,服务器能获取你系统安装了哪些字体(这一条就超过很多人的认知范围了吧?)
Birdy0017
2020-05-02 18:14:54 +08:00
我想爬 artstation 的图,也遇到 CloudFlare 了,但只有图片页的网址会被 403 gank 。也是试过添加所有的 header 没用。
//正常
https://www.artstation.com/tokosuzuki
//被 gank
https://www.artstation.com/artwork/L2Adbl
Birdy0017
2020-05-02 18:16:27 +08:00
freshgoose
2020-05-02 19:04:20 +08:00
@Birdy0017 #24 后来我知道了,其实是你的客户端 tls 版本的问题,他强制使用 tls1.3 (貌似是这个)版本,低版本的全都被拒绝。
hahaxo
295 天前
https://sxyz.blog/bypass-cloudflare-shield/
关键字:TLS 指纹、HTTP/2 指纹、Cipher Suites
hahaxo
295 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/641069

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX