php判断文件上传类型及过滤不安全数据的方法

本文实例讲述了php判断文件上传类型及过滤不安全数据的方法。分享给大家供大家参考。具体如下:

禁止上传除图片文件以外的文件,提示,不要获取文件扩展名来判断类型,这样是最不安全的,我们用$_FIlES['form']['type'].

这个可以读取文件内容来识别文件类型,但它能识别的有限,不过如果你用图片就足够了解.函数,过滤不安全字符,实例函数代码如下:

复制代码 代码如下:

function s_addslashes($string, $force = 0) {
 if(!get_magic_quotes_gpc()) {
  if(is_array($string)) {
   foreach($string as $key => $val) {
    $string[$key] = s_addslashes($val, $force);
   }
  } else {
   $string=str_replace("&#x","& # x",$string); //
 
//过滤一些不安全字符
   $string = addslashes($string);
  }
 }
 return $string;
}
 
//用法实例:
$_COOKIE = c_addslashes($_COOKIE);
$_POST   = c_addslashes($_POST);
$_GET   = c_addslashes($_GET);
 
//在公共文件中加入
if($_FILES){ 
 foreach( $_FILES as $key => $_value )
 {
  $_FILES[$key]['type'] =$_value['type'];  
 }
 if(substr($_FILES[$key]['type'],0,6) !='image/')
 {
  exit;
 }
}

希望本文所述对大家的PHP程序设计有所帮助。

时间: 2014-12-15

php 文件上传类代码

复制代码 代码如下: <?php /** * 文件上传类 */ class uploadFile { public $max_size = '1000000';//设置上传文件大小 public $file_name = 'date';//重命名方式代表以时间命名,其他则使用给予的名称 public $allow_types;//允许上传的文件扩展名,不同文件类型用"|"隔开 public $errmsg = '';//错误信息 public $uploaded = '';//上

功能强大的php文件上传类

本文实例为大家分享了php文件上传类,功能很强大,供大家参考,具体内容如下 <?PHP /* *文件上传类 **/ class upfile{ private $file_size;//上传源文件大小 private $file_tem;//上传文件临时储存名 private $file_name;//上传文件名 private $file_type;//上传文件类型 private $file_max_size=2000000;//允许文件上传最大 private $file_folder=&qu

PHP多文件上传类实例

本文实例讲述了PHP多文件上传类.分享给大家供大家参考.具体如下: 复制代码 代码如下: <?php /* PHP多文件上传类 修改:Linvo 2008-2-15 */ class more_file_upload{     const FILE_PATH='../upfileclass/uploadfile/';     var $file_type;     var $file_type_array;     var $file_type_real_array;     var $file

PHP文件上传类实例详解

本文实例讲述了PHP文件上传类.分享给大家供大家参考,具体如下: 这里演示了FileUpload.class.php文件上传类,其中用到了两个常量,可在网站配置文件中定义: define('ROOT_PATH',dirname(__FILE__)); //网站根目录 define('UPDIR','/uploads/'); //上传主目录 具体代码如下: <?php //上传文件类 class FileUpload { private $error; //错误代码 private $maxsiz

PHP5+UTF8多文件上传类

还有些功能没有加上去,如自动更名,图片处理等.可根据需要自己添加. USE: $up = new upfile(ROOT_PATH.'data/'.date("Ym",time()),array('gif','jpg','jpeg'),true); $fileimg = $up->upload($_FILES['img']);//返回上传后文件名数组,$_FILES['img']为上传的文件 可使用$up->log查看上传时信息. <?php //==========

php可生成缩略图的文件上传类实例

本文实例讲述了php可生成缩略图的文件上传类及其用法.分享给大家供大家参考.具体实现方法如下: 类文件调用方法如下: 复制代码 代码如下: <?php if ($_GET['action'] == 'save') {                     $up = new upload();             $up->set_dir(dirname(__FILE__).'/upload/','{y}/{m}');             $up->set_thumb(100,

一个非常实用的php文件上传类

其实网上已经有很多这样的类了,不过出于练手的目的还是自己仿照着写了一个. 下面的代码放在一个名为UploadFile.class.php文件内 <?php /** * 文件上传 * author:师少兵 * email :beibeijing163@163.com * time :2012/12/09 */ class UploadFile{ private $max_size = '2000000'; //设置上传文件的大小,此为2M private $rand_name = true; //

非常经典的PHP文件上传类分享

文件上传是项目开发中比较常见的功能,但文件上传的过程比较繁琐,只要是有文件上传的地方就需要编写这些复杂的代码.为了能在每次开发中降低功能的编写难度,也为了能节省开发时间,通常我们都会将这些反复使用的一段代码封装到一个类中. <?php /** +----------------------------------------------------------------------------- * 文件上传类 +----------------------------------------

php文件上传类的分享

本文实例为大家分享了php文件上传类的具体代码,供大家参考,具体内容如下 <?php $upload = new UpLoad(); $upload->uploadFile('fm'); /*打印错误信息*/ // var_dump($upload->errorNumber); // var_dump($upload->errorInfo); class UpLoad{ //文件上传路径 protected $path = 'upload/'; //允许文件上传的后缀 protec

一个经典的PHP文件上传类分享

文件上传是项目开发中比较常见的功能,但文件上传的过程比较繁琐,只要是有文件上传的地方就需要编写这些复杂的代码.为了能在每次开发中降低功能的编写难度,也为了能节省开发时间,通常我们都会将这些反复使用的一段代码封装到一个类中.帮助开发者在以后的开发中,通过编写几条简单代码就可以实现复杂的文件上传功能.对于基础薄弱的读者,只要会使用本类即可,而对一些喜欢挑战的朋友,可以尝试去读懂它,并能开发一个属于自己的文件上传类. 一.需求分析 要球自定义文件上传类,即在使用非常简便的前提下,又可以完成以下几项功能

一个完整的php文件上传类实例讲解

这个文件上传类可以自定上传文件大小与上传文件类型及文件保存地址,在使用过程中有一个问题就是如果是中文文件名进行上传就会出现乱码,所以大家解决办法就是把页面保存成uft8即可解决. 下面就是为大家分享的代码: <?php define('NO_FILE', '不存在上传文件'); define('NOT_ALLOW_EXT', '文件类型不在允许范围内'); define('NOT_ALLOW_SIZE', '文件大小不在允许范围内'); define('HAS_THE_FILE', '该文件已经

PHP实现的文件上传类与用法详解

本文实例讲述了PHP实现的文件上传类与用法.分享给大家供大家参考,具体如下: FileUpload.class.php,其中用到了两个常量,可在网站配置文件中定义:define('ROOT_PATH',dirname(__FILE__)); //网站根目录.define('UPDIR','/uploads/'); //上传主目录 <?php //上传文件类 class FileUpload { private $error; //错误代码 private $maxsize; //表单最大值 pr

php实现常用文件上传类的示例

废话不多说,直接上代码: <?php /** * 上传文件类 * @param _path : 服务器文件存放路径 * @param _allowType : 允许上传的文件类型和所对应的MIME * @param _file : 上传的文件信息 */ class Upload{ private $_path; private $_allowType; private $_file; /** * 构造函数 * @param string : 服务器上存放上传文件的路径 */ function _

CI框架文件上传类及图像处理类用法分析

本文实例讲述了CI框架文件上传类及图像处理类用法.分享给大家供大家参考,具体如下: //列表页banner图片 public function edit_list_page_banner($category_id=""){ $category_id= empty($category_id)?$_POST["category_id"]:$category_id; //上传图片 if(isset($_POST["key"]) && $