登录 立即注册

找到561个回复 (用户: 无名啊)

无名啊 72楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-08-03//)

@老虎会游泳,关于图片在线压缩,我打算后端主用PHP+ffmpeg, avifenc, heif-enc等外部命令

主要考虑

  1. 感觉PHP像林子通用语言,方便交流,请教也更容易得到回复
  2. ffmpeg可以读取很多格式和图像处理,命令行语法也比API简单易懂得多。不支持的格式还可通过管道,由其它命令流式处理。

大体流程设计

  1. PHP接到原图链接,进行安全检测:

    • 链接的host:port是否在白名单内?(防localhost和乱下违法文件)
    • 是否滥用?(有办法识别是哪个hu60用户的请求吗?)
  2. 下载原图响应头

    1. 若存在转换后缓存(暂定总缓存1GB,且响应头时间和本地记录一致,则提供,然后结束

    2. 若无原图缓存,或响应头时间比本地新,则下载图片,然后检测:

      • 文件大小(下载前检测)、图片类型

      • 宽高、像素数(防炸内存)

      • 是否动态ffmpeg, dwebp都不支持动态webp……)

  3. 转换图片,提供,结束

问题

  1. 主要流程中,哪里可能会出现被攻击的弱点吗?

  2. 『转换图片』应该由PHP在请求中去处理,还是提交给外部独立应用去处理(PHPjs轮询结果)?

  3. 需要考虑『存在多个请求时,如何更有效利用服务器资源』吗?如:

    • 不能一股脑同时转换所有图片,需要能设定worker

    • 能根据优先级转换。越高的优先级,应该:

      • 近期该用户请求更少(能服务更多用户)

      • 图片更小(使所有用户总等待时间更少)

      • 图片较新(近期更可能被其他用户使用)

      • ……

无名啊 68楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,已私信(好像公开也无所谓?)

无名啊 66楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,真的吗?Debian,谢谢老虎!

无名啊 64楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,或者,你直接限定楼层中图片高度呗(缩放显示)

无名啊 62楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,那你不怕点击到手麻嘛?

无名啊 60楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,你为嘛有点击加载的需求?

也是路上用流量刷林子,怕遇到流量刺客?

无名啊 58楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,我现在更想写个在线压缩图片

现在还有没有免费php空间啥的?

它们能执行外部ffmpeg,heif-enc,avifenc,cwebp吗?

无名啊 57楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,作为“始作俑者”,我需求不大。你可以问问其他那十来个用户

无名啊 55楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,你想浏览时能点击加载?

无名啊 52楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,看来这应该也是最快最好的办法了

无名啊 51楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,我看看啊,实际上,你的代码分成两个部分:

  1. 替换img.src(尽量早执行,也即插件列表开头)
  2. 点击显示原图,恢复onclick(尽量晚执行,也即插件列表结尾)

是吧?Emm……

无名啊 49楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,开始各种卷了

不如从根头解决,只依赖用户设定的顺序?

无名啊 47楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,现在你加setTimeout解决了,再后来的脚本想在你之后执行,该咋办呢

无名啊 45楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,感觉可以和viewer作者协调下,去掉 $(document).ready()

你也说多个$(document).ready()执行顺序不定,不利于后面脚本按顺序执行

无名啊 43楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,不对噢,viewer加了defer

那就是你先执行$(document).ready(),然后解析完DOM后,viewer再执行$(document).ready()

触发DOMContentLoaded后,你先绑定onclick,再由viewer绑定?

所以,你的也应该加上defer

无名啊 41楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,你的插件排在viewer之后,并且也用$(document).ready()的话,是不是就能在viewer绑定onclick后执行了?

无名啊 40楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,看来也用不了async属性,要保证按用户设定的脚本顺序执行

无名啊 37楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,研究这个咋会无意义呢?

现在你的代码,还是和viewer冲突

无名啊 36楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,啊这。。那 @读书顶个鸟用defer的目的是啥??

无名啊 34楼回复 老虎会游泳【网页插件】图片点击加载(测试版 r8) (2022-07-31//)

@老虎会游泳,不是,之前你的版本,最后存活的onclickviewer的,导致没法点击后加载

下一页 上一页 (25 / 29页)

9月18日 17:22 星期四

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1