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程序中的常见漏洞进行攻击(上)
Oct 09 PHP
第三节--定义一个类
Nov 16 PHP
[原创]效率较高的php下读取文本文件的代码
Jul 02 PHP
php自动加载的两种实现方法
Jun 21 PHP
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
PHP下使用CURL方式POST数据至API接口的代码
Feb 14 PHP
PHP实现多图片上传类实例
Jul 26 PHP
PHP 二维数组和三维数组的过滤
Mar 16 PHP
PHP使用PDO访问oracle数据库的步骤详解
Sep 29 PHP
Laravel Eloquent ORM 多条件查询的例子
Oct 10 PHP
PHP用swoole+websocket和redis实现web一对一聊天
Nov 05 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
Jul 24 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公用函数列表[正则]
2007/02/22 PHP
浅析php适配器模式(Adapter)
2014/11/25 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
2010/12/03 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
JS实现table表格数据排序功能(可支持动态数据+分页效果)
2016/05/26 Javascript
jquery+ajax+text文本框实现智能提示完整实例
2016/07/09 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
vue多次循环操作示例
2019/02/08 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
Vuex modules模式下mapState/mapMutations的操作实例
2019/10/17 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
Python中字典(dict)和列表(list)的排序方法实例
2014/06/16 Python
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
创建Django项目图文实例详解
2019/06/06 Python
PyQt5 对图片进行缩放的实例
2019/06/18 Python
Python 限定函数参数的类型及默认值方式
2019/12/24 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
为什么相对PHP黑python的更少
2020/06/21 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
加拿大消费电子和手机购物网站:The Source
2017/01/28 全球购物
香港网上花店:FlowerAdvisor香港
2019/05/30 全球购物
Made in Design英国:设计家具、照明、家庭装饰和花园家具
2019/09/24 全球购物
西雅图的买手店:Totokaelo
2019/10/19 全球购物
建筑自我鉴定
2013/10/19 职场文书
城建学院毕业生自荐信
2014/01/31 职场文书
推荐信格式范文
2014/05/09 职场文书
优秀应届生求职信
2014/06/16 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
​(迎国庆)作文之我爱我的祖国
2019/09/19 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
MySQL导致索引失效的几种情况
2022/06/25 MySQL