`
alfred_long
  • 浏览: 559618 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

图片上传安全处理

    博客分类:
  • PHP
阅读更多

对于用户上传的图片,必须要进行判断和处理,防止含有恶意代码的图片上传到服务器,造成安全隐患。

处理原理:对图片类型进行简单的检测,并以原图进行重新生成(重新生成会打乱其中的恶意代码)

处理方法(用此方法替换move_uploaded_file):

<?php
/*
 * 进行简单图片判断并上传(jpg,gif,png)
 *@param $file  $_FILES['']获取的值 ; $path 图片生成的物理路径(包含图片名称)
 *return 上传成功 true ;  图片类型异常 -1 ;上传失败 false;
 */
function image_save($file,$path){
  if ($file["type"] == "image/gif") {
    @$im = imagecreatefromgif($file['tmp_name']);
    if($im){
    	$sign = imagegif($im,$path);    
    }else{
    	return -1;
    }
  } elseif ($file["type"] == "image/png" || $file["type"] == "image/x-png") {
    @$im = imagecreatefrompng($file['tmp_name']);
    if($im){
    	$sign = imagepng($im,$path);    
    }else{
    	return -1;
    }
  } else {
    @$im = imagecreatefromjpeg($file['tmp_name']);
    if($im){
    	$sign = imagejpeg($im,$path,100);    
    }else{
    	return -1;
    }
  }
  return $sign;
}
 

分享到:
评论
3 楼 xiaoyu_91 2013-03-15  
alfred_long 写道
xiaoyu_91 写道
这个方法就是复制上传文件,然后看是否与源文件一致,不一致则不允许上传吗?

是先判断是否为符合类型的图片,之后以原图片为原型重新生成一张图片。

生成失败的话就是不合法的图片类型,是吧,明了了!
2 楼 alfred_long 2013-02-22  
xiaoyu_91 写道
这个方法就是复制上传文件,然后看是否与源文件一致,不一致则不允许上传吗?

是先判断是否为符合类型的图片,之后以原图片为原型重新生成一张图片。
1 楼 xiaoyu_91 2013-02-21  
这个方法就是复制上传文件,然后看是否与源文件一致,不一致则不允许上传吗?

相关推荐

    php批量上传图片代码

    在最新版的图片上传控件中采用了全新的网络数据传输模块,新的模块全面优化了网络层的数据处理代码,同时在接收服务器返回的数据代码中采用精确识别的方式使数据处理效率更高。这些改进使图片上传控件具有了闪电般的...

    奇安信代码卫士,文件上传漏洞解决demo

    #### 文件上传可以参考以下安全需求进行处理: 1. 服务器配置: (1)将上传目录和上传文件设置为不可执行, 杜绝脚本执行。 (2)应保证服务器安全,避免文件解析漏洞。 2. 在服务端对上传文件进行检查: (1)使用...

    web网页批量上传图片代码

    在最新版的图片上传控件中采用了全新的网络数据传输模块,新的模块全面优化了网络层的数据处理代码,同时在接收服务器返回的数据代码中采用精确识别的方式使数据处理效率更高。这些改进使图片上传控件具有了闪电般的...

    Javascript验证上传图片大小[前台处理]_.docx

    Javascript验证上传图片大小[前台处理]_.docx

    可二次开发上传图片功能.rar

    通过分析和学习这些源码,学生将能够深入理解Web应用中图片上传功能的工作原理,并且学会如何设计和实现一个安全、高效、用户友好的图片上传系统。此外,该项目还能够帮助学生提升他们的编程技能,特别

    PHP CKEditor 上传图片实现代码

    我花了一个下午的时间,自己用PHP脚本写了一个处理上传文件的脚本代码,没有做更多的安全处理,希望对大家有用。 首先,在你的config.js文件里添加如下代码: 复制代码 代码如下: CKEDITOR.editorConfig = function...

    基于图像处理的水果自助售卖系统源码+项目说明+后端(研究生电赛).zip

    基于图像处理的水果自助售卖系统源码+项目说明+后端(研究生电赛).zip 基于图像处理的水果自助售卖系统源码+项目说明+后端(研究生电赛).zip 基于图像处理的水果自助售卖系统源码+项目说明+后端(研究生电赛).zip 基于...

    大创项目:基于python深度学习的医学图像处理分析平台.zip

    大创项目:基于python深度学习的医学图像处理分析平台.zip大创项目:基于python深度学习的医学图像处理分析平台.zip大创项目:基于python深度学习的医学图像处理分析平台.zip大创项目:基于python深度学习的医学图像...

    微标ASP无组件上传类 v1.3(无刷新、多文件上传,并且可查杀木马,utf-8格式)

    查杀图片木马原理:一些图片会被不法分子插入些可执行的asp代码,在被include的时候悄悄执行,我们将图片以文本方式进行检查,判断是否包含某些关键字,如果包含就停止上传,总而提高了服务器的安全。 本来想打包个...

    深度学习实战项目(图像识别、语音识别、文本处理等).zip

    深度学习实战项目(图像识别、语音识别、文本处理等).zip深度学习实战项目(图像识别、语音识别、文本处理等).zip深度学习实战项目(图像识别、语音识别、文本处理等).zip深度学习实战项目(图像识别、语音识别、...

    基于python人脸识别的证件制作系统源码+超详细注释+使用说明(含各种图像处理功能).zip

    在润色照片界面上传照片进行各种数字图像处理 点击左侧原始图边框上传图片之后方可点击左侧功能按钮进行操作。点击之后则会立即执行对应的操作,并将图片显示在右边边框 拖动下方参数槽调节参数,每当拖动到释放...

    jquery实现图片上传前本地预览

    前段时间遇到一个问题,...但我们不可能让所有用户都通过设置浏览器的安全设置来进行图片上传,这种方法在网络交互上显然不现实。 名称:图片上传本地预览插件 v1.1 介绍:基于JQUERY扩展,图片上传预览插件 目前兼容浏

    基于 Flask 构建的高效图床应用,旨在提供一个简单、快捷且功能丰富的图片存储解决方案 (Python)

    PixelVault 非常适用于需要快速、安全地处理和存储大量图片的场景,如个人摄影存档、博客图片托管、小型电商平台的图片管理等。它的智能处理功能可以大大减轻手动处理图片的负担,同时自动化的清理机制使得维护工作...

    安全地处理不受信任的文件格式-Golang开发

    安全地解析不受信任的文件格式Puffs是一种特定于域的语言和库,用于安全地解析不受信任的文件格式。 这种文件格式的示例包括图像,音频,视频,字体和压缩档案。 与t安全地解析不可信文件格式不同,Puffs是一种特定...

    显示缩略图的flash批量上传(功能版)

    含源码。本程序仅为功能版,用于学习交流。仅有客户端上传验证,没有服务器端的安全检测,请使用你自己的处理页面。 详细介绍:http://hi.baidu.com/yukon_kanzaki/blog/item/b500fd1f77d808f8e1fe0b88.html

    CV算法岗知识点及面试问答汇总(主要分为计算机视觉、机器学习、图像处理和 C++基础四大块).zip

    CV算法岗知识点及面试问答汇总(主要分为计算机视觉、机器学习、图像处理和 C++基础四大块).zip CV算法岗知识点及面试问答汇总(主要分为计算机视觉、机器学习、图像处理和 C++基础四大块).zip CV算法岗知识点及...

    基于opencv传统图像处理算法实现物体尺寸测量系统C++源码+项目说明+详细注释.zip

    基于opencv传统图像处理算法实现物体尺寸测量系统C++源码+项目说明+详细注释.zip 基于opencv传统图像处理算法实现物体尺寸测量系统C++源码+项目说明+详细注释.zip 基于opencv传统图像处理算法实现物体尺寸测量系统...

    PHPCMS V9.6.6 修改版

    46. 修改原来上传类处理文件,删除原上传类处理文件,新增Upload上传类处理文件 47. 修改原来图片处理类文件 48. 修改IP库类处理文件 49. 新增二维码处理类文件 50. 新增Input类处理文件 51. 新增判断是否是移动端...

    一个php文件上传类库.zip

    这个PHP文件的上传类主要是用来上传文件的,包括图片,视频,word文档的,其实这里建议用来处理图片,推荐的主要原因是这个类很规范,基本上所有的上传参数都可以在类里面进行定义,而不需要在 php.ini 里面进行修改 ...

    批量缩小图片容量

    因公司的业务需要不断的上传照片,但同事们都是用专业的相机进行拍照原图... 注意:因该软件是处理图片改变图片像素数据的原理,在很多杀毒软件的安全机制上是认为不安全的。会提示安全问题或阻止。最好添加进白名单。

Global site tag (gtag.js) - Google Analytics