PNG、JPG 都能上传,只有 SVG 提示 Disallowed file type。目录可写已经被前两个成功案例证明,继续 chmod 777 没有意义。
SVG 是 XML 文档,不只是“另一种图片”。它可能包含脚本、事件属性、外部资源和嵌入内容,因此 Magento 或安全模块拒绝它通常是有意设计。
可接受的处理方式
- 优先把装饰图转换成 WebP 或 PNG;
- 确需 SVG 时,只对指定后台字段或目录开放;
- 在服务端做 SVG 清洗,移除 script、事件属性和外部引用;
- 同时校验扩展名、MIME 与实际文件内容。
仅在前端 JavaScript 增加
.svg后缀不会增加安全性,攻击者可以绕开浏览器直接请求上传接口。
放行后用普通图标、带脚本测试样本和伪装成 SVG 的文本各验证一次。安全样本应成功,危险与伪装文件必须被拒绝。

