【网页插件】图片点击加载(测试版 r8)

回复列表(72|隐藏机器人聊天)
  • @Ta / 2022-07-31 / /

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

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

  • @Ta / 2022-07-31 / /

    @无名啊,图片太高了,翻页手疼

    Screenshot_20220731_161611.jpg(2.19 MB)

  • @Ta / 2022-07-31 / /

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

  • @Ta / 2022-07-31 / /

    @无名啊,看过的图片就不会再想看了啊。

  • @Ta / 2022-07-31 / /

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

  • @Ta / 2022-07-31 / /

    @无名啊,你喜欢用debian还是centos,我可以在韩国服务器上给你开一个docker容器让你运行任意web应用。

  • @Ta / 2022-07-31 / /

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

  • @Ta / 2022-07-31 / /

    @无名啊,提供一下你的SSH公钥。

  • @Ta / 2022-07-31 / /

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

  • @Ta / 2022-07-31 / /
    @老虎会游泳,老虎是把网络插件放到网页最后去了吗?自定义了个导航条,现在跑尾部去了
  • @Ta / 2022-07-31 / /

    @,嗯,现在是在底部。你可以用JS往顶部插入内容:

    <script>
    document.querySelector('body').insertAdjacentHTML('afterbegin', `
    	<h3>标题</h3>
    	<div>测试</div>
    `);
    </script>
    
  • @Ta / 2022-07-31 / /
    @老虎会游泳,ok修改完成
  • @Ta / 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

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

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

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

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

        • ……

添加新回复
回复需要登录