棘手的图像注入问题

Tricky image injection issue

本文关键字:注入 问题 图像      更新时间:2023-09-26

我需要构建一些遵循此用例的客户端代码:

  1. 通过 ftp 上传名称为"1.jpeg"或"1.png"的图像("1"基于数据库中设置的 id)
  2. 我需要在页面上注入一个 img,其 src 属性为"1.jpeg"或"1.png"(取决于实际存在的文件)

我目前的想法是在phpMyAdmin中创建另一个位置来指示文件类型,但是我想避免这种情况(因为它取决于非程序员/设计人员正确识别文件类型)。有什么想法吗?

如果客户端获得的信息不超过id,那么据我所知,您只有三个选项:

  1. 让客户端尝试每个可能的 URL,忽略404直到您遇到200响应,然后使用它(非常讨厌的解决方案)。
  2. 编写一个服务器端处理程序,允许您将 id 传回并让它执行文件存在检查并流式传输回文件。所以你最终会得到类似<img src='/getimage?id=1' />的东西(更好的解决方案,但不是你暗示的纯 javascript)。
  3. 首先将更多信息传递回客户端(例如您建议的文件类型解决方案,尽管如果您可以控制上传,您可能会从文件中确定它,而不是添加另一个字段)