【网页插件】图片点击加载(测试版 r8)
@老虎会游泳,关于图片在线压缩,我打算后端主用PHP
+ffmpeg, avifenc, heif-enc
等外部命令
PHP
像林子通用语言,方便交流,请教也更容易得到回复ffmpeg
可以读取很多格式和图像处理,命令行语法也比API
简单易懂得多。不支持的格式还可通过管道,由其它命令流式处理。PHP
接到原图链接,进行安全检测:
host:port
是否在白名单内?(防localhost
和乱下违法文件)hu60
用户的请求吗?)下载原图响应头
若存在转换后缓存(暂定总缓存1GB
),且响应头时间和本地记录一致,则提供,然后结束
若无原图缓存,或响应头时间比本地新,则下载图片,然后检测:
文件大小(下载前检测)、图片类型
宽高、像素数(防炸内存)
是否动态(ffmpeg, dwebp
都不支持动态webp
……)
转换图片,提供,结束
主要流程中,哪里可能会出现被攻击的弱点吗?
『转换图片』应该由PHP
在请求中去处理,还是提交给外部独立应用去处理(PHP
或js
轮询结果)?
需要考虑『存在多个请求时,如何更有效利用服务器资源』吗?如:
不能一股脑同时转换所有图片,需要能设定worker
数
能根据优先级转换。越高的优先级,应该:
近期该用户请求更少(能服务更多用户)
图片更小(使所有用户总等待时间更少)
图片较新(近期更可能被其他用户使用)
……
@老虎会游泳,你为嘛有点击加载的需求?
也是路上用流量刷林子,怕遇到流量刺客?