`
alfred_long
  • 浏览: 567282 次
  • 性别: 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  
这个方法就是复制上传文件,然后看是否与源文件一致,不一致则不允许上传吗?

相关推荐

    图像上传在线处理FLASH界面美观 JS

    在IT行业中,图像上传与在线处理是网页应用中常见的功能,尤其在社交媒体、个人博客、电商网站等场景下,用户往往需要上传并编辑个人或商品的图片。本项目标题为"图像上传在线处理FLASH界面美观 JS",描述指出该系统...

    CKEditor图片上传处理处理文件(PHP)

    在CKEditor中,图片上传功能是通过与服务器端的交互来实现的,而这个交互过程通常涉及到一个后端处理文件。在本案例中,我们关注的是一个基于PHP编写的服务器端处理文件——`upload.php`,它专门用于处理CKEditor的...

    ASP图片上传组件 图片批量上传控件 图片上传插件

    总之,ASP图片上传组件通过提供批量上传、文件验证、安全处理等一系列功能,使得在ASP应用中实现图片上传变得简单高效。开发者可以根据项目需求选择合适的控件或插件,并进行相应的定制开发,以满足特定的业务场景。

    asp拍照,上传压缩处理图片

    通过以上技术手段,可以在ASP环境中构建一个功能完善的图片上传系统,既支持用户从本地选择图片,也能直接拍照上传,并对图片进行压缩处理,提高网站效率。同时,确保系统安全性和用户体验是设计过程中不可忽视的...

    php 多图片上传

    在PHP开发中,多图片上传是一项常见的功能...综上所述,实现多图片上传涉及前端的文件选择、预览,后端的文件接收、处理和存储,以及必要的安全性检查。通过jQuery和PHP的结合,可以构建出高效且安全的多图片上传功能。

    ASP批量上传简便无刷新文件图片上传系统

    在图片上传的场景下,ASP批量上传系统可能还会包含图像处理功能,如缩略图生成、尺寸调整、质量优化等。这通常需要利用到服务器端的图像处理库,如GD库或ImageMagick。 安全方面,ASP批量上传系统需要防止恶意文件...

    Java实现图片上传

    总结起来,Java实现图片上传涉及的关键技术有:文件操作(File类)、HTTP请求(Multipart编码)、服务器端文件处理(如Apache Commons FileUpload)、存储策略(文件系统或云存储)以及安全性与性能优化(如文件大小...

    上传图片 图片上传

    标题“上传图片 图片上传”直指这个核心操作,而描述中的“上传图片同时支持post参数,也支持上传其他类型文件【需修改对应参数】”揭示了实现这一功能时的一些关键技术和注意事项。 首先,我们来探讨图片上传的...

    php 上传类,用于修改上传图片大小

    3. **图像处理**:类内部可能使用了GD库或者Imagick扩展,对上传的图片进行缩放、裁剪、旋转等操作,使其符合网站的尺寸要求。 4. **重命名文件**:为了防止文件名冲突和安全考虑,类可能会自动生成唯一的文件名,...

    各类上传图片控件

    总结来说,开发一个完整的图片上传系统涉及到多个技术层面,包括前端交互、安全验证、资源管理及图像处理。理解并掌握这些知识点对于构建高效、安全、用户友好的图片上传功能至关重要。在实际应用中,开发者还需要...

    C# 使用uploadify实现图片批量上传

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows...通过以上步骤,你可以利用C#和uploadify实现一个高效、安全的图片批量上传功能。理解并掌握这些知识点,对于开发涉及文件上传的Web应用是非常有帮助的。

    MultiPhotoUpload多图片上传

    在数字化时代的今天,图像信息的交流与分享日益频繁,多图片上传功能已经成为各类应用和平台不可或缺的一部分。"MultiPhotoUpload"就是这样一个专门针对商户平台评论、发表等场景设计的多图片上传解决方案。本文将...

    Flex4.6+java+servlet上传图片例子+图片上传预览

    在IT行业中,构建一个能够处理图像上传和预览功能的Web应用是一项常见的需求。这个"Flex4.6+java+servlet上传图片例子+图片上传预览"的项目,结合了前端的Flex技术和后端的Java Servlet,为我们提供了一个完整的解决...

    单张图片上传压缩

    - 图片上传过程中应考虑安全问题,如防止XSS攻击,可以通过转码、过滤特殊字符等方式处理用户上传的数据。 - 对于敏感内容的图片,可能需要进行隐私保护处理,如添加水印或模糊处理。 综上所述,单张图片上传压缩...

    基于bootstrap图片上传_jquery支持多张上传

    7. **错误处理**:在实现图片上传功能时,应考虑各种可能出现的错误情况,比如文件大小超出限制、文件类型不正确等,通过jQuery的error回调函数进行错误处理,并向用户反馈错误信息。 8. **响应式设计**:由于...

    上传图片,可上传至服务器并且可以读取.rar

    本文将详细解析"上传图片,可上传至服务器并且可以读取.rar"这一主题,涵盖图片上传的流程、技术实现、服务器端处理以及安全考虑等多个方面。 1. 图片上传流程: 用户在前端界面选择本地图片后,通过HTTP或HTTPS...

    ASP上传图片裁剪代码

    总结,ASP上传图片裁剪代码是一个结合了前端交互与后端处理的项目,涵盖了ASP脚本、图片上传、JavaScript交互、图片处理等多个技术领域,同时还需要关注安全性、用户体验和性能优化等方面。通过这些组件的组合,实现...

    Jsp图片上传资料并将图片路径上传至数据库

    总结,实现"Jsp图片上传资料并将图片路径上传至数据库"的过程涉及前端表单设计、后端文件处理、数据库操作、异常管理和安全措施。通过合理的设计和编程,可以构建一个高效、安全的图片上传系统。

    ueditor上传图片配置

    此外,返回的图片URL也需要做相应的安全处理,避免暴露服务器内部路径。 6. **异常处理**:确保在图片上传失败时,有合适的错误提示反馈给前端,方便用户了解问题并进行修正。 7. **测试与优化**:完成基本功能后...

    wangeditor批量上传图片

    总结起来,"wangeditor批量上传图片"是一个综合了前端交互、后端处理和文件存储的技术实践,通过合理的设计和实现,能够提供一个稳定、高效且安全的图片上传功能,即使在服务器重启后也能保持图片的可用性。

Global site tag (gtag.js) - Google Analytics