从爆破手何在?继续讨论:
PoW有啥用?
在这里,我贴一个大家可能在访问一些网站已经见过的可爱形象
没错,他就是
TecharoHQ/anubis的默认形象,这可以说是最知名的PoW项目,它的创建是为了阻止ai时代越来越多的爬虫程序过快的耗尽服务器资源,是一种对服务器损耗极低但是能有效消耗爬虫资源的方式
How PoW work?
PoW被称为工作量证明机制,它的核心是要求传入的连接执行一个小的计算任务 (Anubis是SHA256,始皇的是SHA512)。这个简单的计算可以阻止那些不愿或无法完成计算的资源密集型机器人,同时对合法的用户浏览器来说是可以接受的。(至少我觉得比cf盾好对吧
)
我怀疑始皇测试这个可能是因为之前的ldc风波,站点连续好久负载过高,正常功能都受到影响了
服务端只需要进行简单的验证,客户端则需要花费多得多的性能开销证明自己是正常用户,且可以根据站点负载动态调整计算要求
简单的PoW原理
这里就以anubis为例,anubis要求访问者解决一个基于 SHA-256 的哈希挑战。这其实和挖矿的步骤差不多(毕竟挖矿就是在进行一种PoW),具体来说,服务端会收到客户端的一个随机数,称为challenge,用户需要找到一个随机数(nonce),使得SHA-256(challenge + nonce)的结果以指定数量的零开头。默认难度设置为 4,意味着需要找到一个使哈希值前 16 位全为零的 nonce。
始皇这个就复杂许多,还涉及将部分浏览器环境加入计算,并且迭代了99次
目前我爆破的最好成绩是15次成功计算/s,详见下帖
爆破始皇pow!纯cpu实现15rps! - 开发调优 / 开发调优, Lv1 - LINUX DO
总结
虽然不知道始皇要加到哪里,但是总之对我们正常用户是利好的,不会受到太大影响,也能拦下异常的高频请求,减小卡顿,正常的脚本没有过大影响,这针对的主要是高频请求的那些用户,期待一下始皇下一步动作
如果觉得文章有帮助,欢迎赞赏一下喵
ldc小额打赏
5 LINUX DO Credit
10 LINUX DO Credit
20 LINUX DO Credit

