TGViewer
开发者工具箱|编程·开发工具·资源 开发者工具箱|编程·开发工具·资源 @devtoolboxhub · 559 subscribers
Post #1193 4
Laravel 图片上传防 PHP 注入中间件

图片上传存在已知风险:一个有效 JPEG 文件可在 EXIF 注释中隐藏 PHP 代码,却仍能通过 MIME 检查、扩展名检查和 getimagesize()。一旦文件被写入可执行路径,就可能实现远程代码执行。

laravel-image-sanitize 是一个轻量中间件,在上传处理前扫描图片中的 payload 标记(<?php、phar),若有发现则通过 Intervention Image 从头解码并重新编码,仅保留像素数据,丢弃所有附加内容。使用时通过 Composer 安装,挂载到路由即可。

注意这不能替代 Laravel 自身的验证规则,两者应同时使用。默认支持 JPEG、PNG、GIF、BMP、WebP,不包含 SVG。质量默认 100(近无损),可调整。配置可发布并自定义允许类型、扫描模式、驱动等。


GitHub

#开发者 #工具 #Laravel #安全 #文件上传 #PHP #中间件
@DevToolboxHub
More from @devtoolboxhub
  1. Oct 2, 2026AWS AIF-C01 偏差与方差考点梳理 备考 AWS Certified AI Practitioner 时,偏差与方差是高频易错点。核心判断逻辑只有一条:训练集与未见数据的表…
  2. Oct 2, 2026功能开关正在变成没人清理的技术债 功能开关(Feature Flag)是现代软件交付里最有效的工具之一:支持灰度发布、A/B 实验、未发布功能门控,以及生产环境的即时熔断开关。但这…
  3. Oct 2, 2026containerd 检查点恢复路径默认关闭 Kubernetes 里策略变成进程状态只有一处,就是创建。检查点恢复是通往运行进程的第二条路,而这条路上没有任何环节决定:当保存的状…
  4. Oct 1, 2026给 AI 代理建一份「自欺清单」 维也纳邮政与邮件服务商 Postservice.at 创始人 Stephan Holzbach 不是开发者,但今年公司大部分工作跑在 Claude…
  5. Oct 1, 2026代码评审评论为何比本意更刺耳 一条评审评论大约四十秒写完,通常夹在两件事之间,写的人清楚自己的语气。读的人刚在这份代码上花了三天,正想收尾,而且听不到你的声音,于是自己补上一种语气…
  6. Oct 1, 2026用 Hindsight 给客服 Agent 加上持久记忆 大多数客服 Agent 只擅长回答眼前这条消息。真正难的是同一个客户一周后再来,Agent 完全不知道之前发生过什么。作者…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →