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


Posted in PHP onDecember 17, 2014

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
php+dbfile开发小型留言本
Oct 09 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
深入php 正则表达式的学习探讨
Jun 06 PHP
PHP删除数组中特定元素的两种方法
Jul 02 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
zf框架的Filter过滤器使用示例
Mar 13 PHP
php获取四位字母和数字的随机数的实现方法
Jan 09 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
Oct 20 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
Dec 09 PHP
PHP简单获取随机数的常用方法小结
Jun 07 PHP
PHP常用日期加减计算方法实例小结
Jul 31 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 PHP
php可生成缩略图的文件上传类实例
Dec 17 #PHP
php提示Failed to write session data错误的解决方法
Dec 17 #PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
Dec 17 #PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
Dec 17 #PHP
apache中为php 设置虚拟目录
Dec 17 #PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
Dec 17 #PHP
Linux中为php配置伪静态
Dec 17 #PHP
You might like
PHP 模拟$_PUT实现代码
2010/03/15 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
2016/01/07 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
基于PHP制作验证码
2016/10/12 PHP
PHP与以太坊交互详解
2018/08/24 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
JavaScript中使用构造函数实现继承的代码
2010/08/12 Javascript
Jquery css函数用法(判断标签是否拥有某属性)
2011/05/28 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
JSON 对象未定义错误的解决方法
2016/09/29 Javascript
基于BootStrap与jQuery.validate实现表单提交校验功能
2016/12/22 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
JS运动特效之任意值添加运动的方法分析
2018/01/24 Javascript
浅谈Vue2.0中v-for迭代语法的变化(key、index)
2018/03/06 Javascript
jQuery解析json格式数据示例
2018/09/01 jQuery
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
vue 自定义右键样式的实例代码
2019/11/06 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
python分析网页上所有超链接的方法
2015/05/08 Python
Python通过select实现异步IO的方法
2015/06/04 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
Python列表list排列组合操作示例
2018/12/18 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
瑞贝卡·明可弗包包官网:Rebecca Minkoff
2016/07/21 全球购物
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
法国女性内衣购物网站:Glamuse
2019/05/13 全球购物
Web Service面试题:如何搭建Axis2的开发环境
2012/06/20 面试题
linux面试题参考答案(5)
2016/11/05 面试题
毕业生就业推荐信范文
2013/12/01 职场文书
四风问题查摆材料
2014/08/25 职场文书
太行山上观后感
2015/06/05 职场文书
党员反邪教心得体会
2016/01/15 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL