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怎样调用MSSQL的存储过程
Oct 09 PHP
转换中文日期的PHP程序
Oct 09 PHP
可定制的PHP缩略图生成程式(需要GD库支持)
Mar 06 PHP
一篇有意思的技术文章php介绍篇
Oct 26 PHP
CI框架源码阅读,系统常量文件constants.php的配置
Feb 28 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
php中session定期自动清理的方法
Nov 12 PHP
php编程每天必学之验证码
Mar 03 PHP
PHP开发APP端微信支付功能
Feb 17 PHP
简单谈谈PHP中的trait
Feb 25 PHP
PHP实现类似题库抽题效果
Aug 16 PHP
Laravel创建数据库表结构的例子
Oct 09 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 curl_setopt 函数的相关应用及介绍
2013/06/17 PHP
php对图像的各种处理函数代码小结
2013/07/08 PHP
php设计模式之简单工厂模式详解
2014/09/04 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
Javascript别踩白块儿(钢琴块儿)小游戏实现代码
2017/07/20 Javascript
three.js加载obj模型的实例代码
2017/11/10 Javascript
基于Vue的移动端图片裁剪组件功能
2017/11/28 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
JavaScript相等运算符的九条规则示例详解
2019/10/20 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
Django认证系统实现的web页面实现代码
2019/08/12 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
2020/02/28 Python
Python浮点型(float)运算结果不正确的解决方案
2020/09/22 Python
如何基于matlab相机标定导出xml文件
2020/11/02 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
CSS3 文字动画效果
2020/11/12 HTML / CSS
三个Unix的命令面试题
2015/04/12 面试题
校外活动方案
2014/08/28 职场文书
社区环境卫生倡议书
2015/04/29 职场文书
甲午风云观后感
2015/06/02 职场文书
儿子满月酒致辞
2015/07/29 职场文书
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android