php 如何确保上传图片的安全

平时我发现,有很多网站都不提供gif图片的上传,之前在对网站进行安全检查的时候也发现了一些gif图片中暗藏代码,竟然还可以执行!
记得我用文本编辑器打开图片,在图片的最后,发现了php的一句话木马,我想请问,这类问题如何解决?
如果保证/防范图片(或文件)上传中可能存在的安全隐患?

敬谢!

阅读 7.2k
1 个回答
  1. 上传的时候不依靠Content-Type来做文档类型验证,可以参考我在这里的回答如何判断浏览器上传文件的真实类型?
  2. 上传的图片文件放到web 目录外的地方,限定好权限,图片展示的时候,可以使用另一个域名。
  3. 强制服务器给静态文件发送正确的文件头,避免图片中的代码被执行 参考http://nullcandy.com/php-image-upload-security-how-not-to-do-it/
ForceType application/octet-stream
<FilesMatch "(?i)\.jpe?g$">
    ForceType image/jpeg
</FilesMatch>
<FilesMatch "(?i)\.gif$">
    ForceType image/gif
</FilesMatch>
<FilesMatch "(?i)\.png$">
    ForceType image/png
</FilesMatch>
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题