·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
返回列表 发布新帖

上传图片时检测真实的文件类型,鉴别错误的扩展名

454 0
发表于 2022-12-18 11:05:02 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
应用场景:JPG格式具有高压缩率,更适于互联网传播,本站仅支持上传JPG格式的图片,但部分用户会直接将 PNG 或 BMP 格式的图片修改扩展名为 JPG,绕开系统限制。可采用以下方法进行检测:

1、打开 source/class/discuz/discuz_upload.php 文件,查找:
  1. $attach['size'] = intval($attach['size']);
复制代码
在其前方增加:
  1. $filename = $attach['tmp_name']; $file = fopen($filename, "rb"); $bin = fread($file, 2); fclose($file); $strinfo = @unpack("C2chars", $bin); $typecode = intval($strinfo['chars1'].$strinfo['chars2']); if(in_array($typecode, array('7173', '6677', '13780'))) { $attach['unsupported_image_format'] = 1; }
复制代码
2、打开 source/class/forum/forum_upload.php 文件,查找:
  1. loadcache('attachtype');
复制代码
在其前方增加:
  1. if($upload->attach['unsupported_image_format'] == '1') {                         return $this->uploadmsg(51);                 }
复制代码
3、打开 static/js/forum_post.js 文件,查找:        
  1. '11' : '今日您已无法上传那么大的附件'
复制代码
将其替换为:
  1. '11' : '今日您已无法上传那么大的附件', '51' : '图像格式不支持,请转换为 .JPG'
复制代码
更新缓存,刷新发帖页面后测试(将一张PNG格式图片的扩展名修改为JPG,上传测试,失败则表示成功)。
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.117.104.132,GMT+8, 2024-12-26 09:14 , Processed in 0.239435 second(s), 85 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2024 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表