1.0.0 • Published 2 years ago

shuzhi-tinypng v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

实现原理

image-20220425174840248

从上图可以看出,客户端并不是直接请求应用服务的,而是通过统一接入层(往往是nginx)来转发请求的。

所有的反向代理都实现一个统一的约定,在转发请求给下游服务之前,把请求代理的IP地址写入到X-Forwarded-For头中,形成了一个IP地址列:

X-Forwarded-For: client, proxy1, proxy2

这个方案虽然不是正式的HTTP协议,但已经成为了一个事实标准,基本上所有的反向代理服务都实现了这个功能,以确保下游的服务可以感知到经过的反向代理,并从中获取到用户的IP地址。

因此,在客户端伪造这个头部,每次上传图片的时候都设置一个随机的IP。可以欺骗tinypng的服务器,从而绕开了上传次数的限制。

使用

请全局安装该依赖,即可使用命令npx shuzhi-tinypng进行使用。