PHP上传图片如何防止图片木马?

PHP上传图片如何防止图片木马?

阅读 21k
7 个回答

其实识别图片木马是很困难的,可以在一张正常的图片里加入一句话木马。

但是只要做到图片不会被执行,你的web服务器没有古老的解析漏洞,你的web程序不存在简单的包含漏洞,那么图片木马是基本可以防止的。

其实吧,你只要降低图像质量,重新压缩一下就好了,木马神马的就统统干掉鸟……

题主可以参考这个问题:

《php的mime处理问题》

单纯通过后缀名判断上传文件的类型肯定是不安全的,可以采取 mime 类型判断或者读取文件头字节来判断是否为图片。更甚者,题主可以用 GD 库来处理上传的图片。

我们现在系统的操作方法是先通过 mime 判断上传文件类型,如果为图片则通过 GD 函数处理生成 thumbnail,同时保存 origin 图片文件。

重新转化一下应该就没有问题了吧

可以用linux服务器上的木马扫描软件,比如 Clamav 支持命令行执行的,上传之后就扫一下,最可靠,

$last_line = system('php /var/bin/clamdscan upload.jpg');

根据扫描结果就可以判断了

新手上路,请多包涵

上传直接重新转码。

前几天刚刚处理过这个问题。正常的话把图片附件目录改成不可执行。还可以匹配文本的字符串。匹配字符串的话需要先把短标记关掉。然后搜索<?php搜到的话就是非法图片,具体的你自己衡量

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
1 篇内容引用
推荐问题
宣传栏